Impact
The library functions getUserById, deleteUser, updateUserById, listFactors and deleteFactor did not require the user supplied values to be valid UUIDs. This could lead to a URL path traversal, resulting in the wrong API function being called.
Implementations that follow security best practice and validate user controlled inputs, such as the userId are not affected by this.
Patches
Strict value checks have been added to all affected functions. These functions now require that the userId and factorId parameters MUST be valid UUID (v4).
Patched version: >= 2.69.1
Workarounds
Implementations that follow security best practice and validate user controlled inputs, such as the userId are not affected by this. It is recommended that users of the auth-js library always follow security best practice and validate all inputs, before passing these to other functions or libraries.
References
#1063
Impact
The library functions
getUserById,deleteUser,updateUserById,listFactorsanddeleteFactordid not require the user supplied values to be valid UUIDs. This could lead to a URL path traversal, resulting in the wrong API function being called.Implementations that follow security best practice and validate user controlled inputs, such as the
userIdare not affected by this.Patches
Strict value checks have been added to all affected functions. These functions now require that the
userIdandfactorIdparameters MUST be valid UUID (v4).Patched version: >= 2.69.1
Workarounds
Implementations that follow security best practice and validate user controlled inputs, such as the
userIdare not affected by this. It is recommended that users of the auth-js library always follow security best practice and validate all inputs, before passing these to other functions or libraries.References
#1063