Description
New Feature / Enhancement Checklist
- I am not disclosing a vulnerability.
- I am not just asking a question.
- I have searched through existing issues.
Current Limitation
The link sent in emails to reset the password / verify the email address currently contains the username which
- allows to fully compromise an account if the link is shared
- may expose personally identifiable information in the logs
Feature / Enhancement Description
Link should not contain email address of user.
The link already contains the perishable token. The token is enough to identify the user whose password should be reset. The user controller should accept the password reset with just the token. It should not make it less secure, as the link already contains both (username and token) and once the link is exposed as it currently is, the password can be reset.
Example Use Case
- Sign-up user with email and password where username is the email address
- Request password reset for user
- Link contains email address of user
Alternatives / Workarounds
- Hash the email address in the link and compare it to the username as a second measure of security. However, as the link already contains token and email address, this would be stricter than the current security measure and there seems to be no basis for tightening this.
3rd Party References
none