CWE-521: Weak Password Requirements
Description
The product does not require that users should have strong passwords.
- Abstraction
- BaseA weakness specific enough to point to detection and prevention methods.
- Likelihood of exploit
- Not rated by MITRE
- Status
- Draft
Common consequences
- Access Control
Gain Privileges or Assume Identity
An attacker could easily guess user passwords and gain access user accounts.
Potential mitigations
- Architecture and Design
A product's design should require adherance to an appropriate password policy. Specific password requirements depend strongly on contextual factors, but it is recommended to contain the following attributes: Enforcement of a minimum and maximum length Restrictions against password reuse Restrictions against using common passwords Restrictions against using contextual string in the password (e.g., user id, app name) Depending on the threat model, the password policy may include several additional attributes. Complex passwords requiring mixed character sets (alpha, numeric, special, mixed case)...
- Architecture and Design
Consider a second authentication factor beyond the password, which prevents the password from being a single point of failure. See CWE-308 for further information.
- Implementation
Consider implementing a password complexity meter to inform users when a chosen password meets the required attributes.
- ImplementationEffectiveness: Discouraged Common Practice
Previously, password expiration was widely advocated as a defense-in-depth approach to minimize the risk of weak passwords, and it has become a common practice. Password expiration requires a password to be changed within a fixed time window (such as every 90 days). However, this approach has significant limitations in the current threat landscape, and its utility has been reduced in light of the adoption of related protection mechanisms (such as password complexity and computational effort), along with the recognition that regular password changes often caused users to generate more...
Related weaknesses
Parent weaknesses
Child weaknesses
CAPEC attack patterns that exploit it
- CAPEC-16Dictionary-based Password Attack
- CAPEC-49Password Brute Forcing
- CAPEC-55Rainbow Table Password Cracking
- CAPEC-70Try Common or Default Usernames and Passwords
- CAPEC-112Brute Force
- CAPEC-509Kerberoasting
- CAPEC-555Remote Services with Stolen Credentials
- CAPEC-561Windows Admin Shares with Stolen Credentials
- CAPEC-565Password Spraying