CWEweakness
CWE-263 Password Aging with Long Expiration
Low
Official page ↗
- Abstraction
- Base
- Structure
- Simple
- Status
- Draft
- Likelihood of exploit
- Low
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product supports password aging, but the expiration period is too long.
Extended description
Note that while password aging was once considered an important security feature, it has since fallen out of favor by many, because it is not as effective against modern threats compared to other mechanisms such as slow hashes. In addition, forcing frequent changes can unintentionally encourage users to select less-secure passwords. However, password aging is still in use due to factors such as compliance requirements, e.g., Payment Card Industry Data Security Standard (PCI DSS).
Common consequences
• Access Control: Gain Privileges or Assume Identity — As passwords age, the probability that they are compromised grows. A long expiration provides more time for attackers to conduct password cracking before users are forced to change to a new password.
Potential mitigations
• [Implementation] 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 predictable
passwords. As a result, this is now a Discouraged
Common Practice [REF-1488] [REF-1489], especially as
the sole factor in protecting passwords. It is still
strongly encouraged to force password changes in case
of evidence of compromise, but this is not the same as
a forced "expiration" on an arbitrary time
frame.
• [Architecture and Design] Ensure that password aging is limited so that there is a defined maximum age for passwords. Note that if the expiration window is too short, it can cause users to generate poor or predictable passwords.
• [Architecture and Design] Ensure that the user is notified several times leading up to the password expiration.
• [Architecture and Design] Create mechanisms to prevent users from reusing passwords or creating similar passwords.
• [Implementation] Developers might disable clipboard paste operations into password fields as a way to discourage users from pasting a password into a clipboard. However, this might encourage users to choose less-secure passwords that are easier to type, and it can reduce the usability of password managers [REF-1294].
Related
Attack pattern · CAPEC (12)
- CAPEC-16 Dictionary-based Password Attack attack pattern
- CAPEC-49 Password Brute Forcing attack pattern
- CAPEC-509 Kerberoasting attack pattern
- CAPEC-55 Rainbow Table Password Cracking attack pattern
- CAPEC-555 Remote Services with Stolen Credentials attack pattern
- CAPEC-560 Use of Known Domain Credentials attack pattern
- CAPEC-561 Windows Admin Shares with Stolen Credentials attack pattern
- CAPEC-565 Password Spraying attack pattern
- CAPEC-600 Credential Stuffing attack pattern
- CAPEC-652 Use of Known Kerberos Credentials attack pattern
- CAPEC-653 Use of Known Operating System Credentials attack pattern
- CAPEC-70 Try Common or Default Usernames and Passwords attack pattern
Child of · CWE (2)
Referenced by CAPEC · weakness (12)
- CAPEC-16 Dictionary-based Password Attack attack pattern
- CAPEC-49 Password Brute Forcing attack pattern
- CAPEC-509 Kerberoasting attack pattern
- CAPEC-55 Rainbow Table Password Cracking attack pattern
- CAPEC-555 Remote Services with Stolen Credentials attack pattern
- CAPEC-560 Use of Known Domain Credentials attack pattern
- CAPEC-561 Windows Admin Shares with Stolen Credentials attack pattern
- CAPEC-565 Password Spraying attack pattern
- CAPEC-600 Credential Stuffing attack pattern
- CAPEC-652 Use of Known Kerberos Credentials attack pattern
- CAPEC-653 Use of Known Operating System Credentials attack pattern
- CAPEC-70 Try Common or Default Usernames and Passwords attack pattern
Referenced by CVE · weakness (1)
- CVE-2023-1976 Password Aging with Long Expiration in GitHub repository answerdev/answer prior to 1.0.6. vulnerability
Referenced by CWE · has member (1)
- CWE-884 CWE Cross-section view