You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Username leakage from password reset mechanism #1770
In Reset Password /account/password/reset, if you enter a valid username you get
An invalid username results in
This can be used to confirm whether or not a username exists. It would be better if both cases resulted in the same message. That could be the original message or perhaps "A Reset Password link has been sent to the email associated with this username"
This is a simple fix but as it is a security issue, please could you do an immediate release.
Simply applying renderSuccess() on the final then and catch would suffice, though it may warrant renaming the method.
Edit: Another option is rendering the same view for success and failure but having a debug message which indicates success or failure to individuals developing their own server.
Activity
bourgeoa commentedon Mar 14, 2024
It seems strange to have a
red error messagesaying that there wassuccess.What do you think of sending :
Failed to send a Reset Password email?Which is more generic.
edwardsph commentedon Mar 14, 2024
The best practice recommendation is that the response is the same either way as in https://cheatsheetseries.owasp.org/cheatsheets/Forgot_Password_Cheat_Sheet.html
zg009 commentedon Mar 15, 2024
Hello Alain,
If the change needs to be made I already found the code which would be edited to fix.
node-solid-server/lib/requests/password-reset-email-request.js
Lines 92 to 98 in d8290cb
Simply applying renderSuccess() on the final then and catch would suffice, though it may warrant renaming the method.
Edit: Another option is rendering the same view for success and failure but having a debug message which indicates success or failure to individuals developing their own server.
bourgeoa commentedon Mar 15, 2024
I would do it by replacing that line
node-solid-server/lib/requests/password-reset-email-request.js
Line 126 in d8290cb
this will maintain all the logic, and I will add a comment line, why there is no throw Error
Please do a PR