CWE-640

Weak Password Recovery Mechanism for Forgotten Password

The product contains a mechanism for users to recover or change their passwords without knowing the original password, but the mechanism is weak.

Mitigation

Phase: Architecture and Design

Description:

  • Make sure that all input supplied by the user to the password recovery mechanism is thoroughly filtered and validated.
Mitigation

Phase: Architecture and Design

Description:

  • Do not use standard weak security questions and use several security questions.
Mitigation

Phase: Architecture and Design

Description:

  • Make sure that there is throttling on the number of incorrect answers to a security question. Disable the password recovery functionality after a certain (small) number of incorrect guesses.
Mitigation

Phase: Architecture and Design

Description:

  • Require that the user properly answers the security question prior to resetting their password and sending the new password to the e-mail address of record.
Mitigation

Phase: Architecture and Design

Description:

  • Never allow the user to control what e-mail address the new password will be sent to in the password recovery mechanism.
Mitigation

Phase: Architecture and Design

Description:

  • Assign a new temporary password rather than revealing the original password.
CAPEC-50: Password Recovery Exploitation

An attacker may take advantage of the application feature to help users recover their forgotten passwords in order to gain access into the system with the same privileges as the original user. Generally password recovery schemes tend to be weak and insecure.

Back to CWE stats page