| Impact | Details |
|---|---|
|
Gain Privileges or Assume Identity |
Scope: Access Control
An attacker could gain access to user accounts and access sensitive data used by the user accounts.
|
| Phase(s) | Mitigation |
|---|---|
|
Architecture and Design |
Use an appropriate security mechanism to protect the credentials.
|
|
Architecture and Design |
Make appropriate use of cryptography to protect the credentials.
|
|
Implementation |
Use industry standards to protect the credentials (e.g. LDAP, keystore, etc.).
|
| Nature | Type | ID | Name |
|---|---|---|---|
| ChildOf | Class Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource. | 668 | Exposure of Resource to Wrong Sphere |
| ChildOf | Class Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource. | 1390 | Weak Authentication |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 256 | Plaintext Storage of a Password |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 257 | Storing Passwords in a Recoverable Format |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 260 | Password in Configuration File |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 261 | Weak Encoding for Password |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 523 | Unprotected Transport of Credentials |
| ParentOf | Base Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource. | 549 | Missing Password Field Masking |
| Nature | Type | ID | Name |
|---|---|---|---|
| ChildOf | Class Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource. | 287 | Improper Authentication |
| Nature | Type | ID | Name |
|---|---|---|---|
| MemberOf | Category Category - a CWE entry that contains a set of other entries that share a common characteristic. | 1013 | Encrypt Data |
| Phase | Note |
|---|---|
| Architecture and Design | COMMISSION: This weakness refers to an incorrect design related to an architectural security tactic. |
| Implementation |
Class: Not Language-Specific (Undetermined Prevalence)
Class: ICS/OT (Undetermined Prevalence)
Example 1
This code changes a user's password.
While the code confirms that the requesting user typed the same new password twice, it does not confirm that the user requesting the password change is the same user whose password will be changed. An attacker can request a change of another user's password and gain control of the victim's account.
Example 2
The following code reads a password from a properties file and uses the password to connect to a database.
This code will run successfully, but anyone who has access to config.properties can read the value of password. If a devious employee has access to this information, they can use it to break into the system.
Example 3
The following code reads a password from the registry and uses the password to create a new network credential.
This code will run successfully, but anyone who has access to the registry key used to store the password can read the value of password. If a devious employee has access to this information, they can use it to break into the system
Example 4
Both of these examples verify a password by comparing it to a stored compressed version.
Because a compression algorithm is used instead of a one way hashing algorithm, an attacker can recover compressed passwords stored in the database.
Example 5
The following examples show a portion of properties and configuration files for Java and ASP.NET applications. The files include username and password information but they are stored in cleartext.
This Java example shows a properties file with a cleartext username / password pair.
The following example shows a portion of a configuration file for an ASP.Net application. This configuration file includes username and password information for a connection to a database but the pair is stored in cleartext.
Username and password information should not be included in a configuration file or a properties file in cleartext as this will allow anyone who can read the file access to the resource. If possible, encrypt this information.
Example 6
In 2022, the OT:ICEFALL study examined products by 10 different Operational Technology (OT) vendors. The researchers reported 56 vulnerabilities and said that the products were "insecure by design" [REF-1283]. If exploited, these vulnerabilities often allowed adversaries to change how the products operated, ranging from denial of service to changing the code that the products executed. Since these products were often used in industries such as power, electrical, water, and others, there could even be safety implications.
Multiple vendors used cleartext transmission or storage of passwords in their OT products.
Note: this is a curated list of examples for users to understand the variety of ways in which this weakness can be introduced. It is not a complete list of all CVEs that are related to this CWE entry.
| Reference | Description |
|---|---|
|
A messaging platform serializes all elements of User/Group objects, making private information available to adversaries
|
|
|
Initialization file contains credentials that can be decoded using a "simple string transformation"
|
|
|
Python-based RPC framework enables pickle functionality by default, allowing clients to unpickle untrusted data.
|
|
|
Programmable Logic Controller (PLC) sends sensitive information in plaintext, including passwords and session tokens.
|
|
|
Building Controller uses a protocol that transmits authentication credentials in plaintext.
|
|
|
Programmable Logic Controller (PLC) sends password in plaintext.
|
|
|
Remote Terminal Unit (RTU) uses a driver that relies on a password stored in plaintext.
|
|
|
Web app allows remote attackers to change the passwords of arbitrary users without providing the original password, and possibly perform other unauthorized actions.
|
|
|
Web application password change utility doesn't check the original password.
|
|
|
product authentication succeeds if user-provided MD5 hash matches the hash in its database; this can be subjected to replay attacks.
|
|
|
chain: product generates predictable MD5 hashes using a constant value combined with username, allowing authentication bypass.
|
| Method | Details |
|---|---|
|
Automated Static Analysis |
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Effectiveness: High |
| Nature | Type | ID | Name |
|---|---|---|---|
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 718 | OWASP Top Ten 2007 Category A7 - Broken Authentication and Session Management |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 724 | OWASP Top Ten 2004 Category A3 - Broken Authentication and Session Management |
| MemberOf | ViewView - a subset of CWE entries that provides a way of examining CWE content. The two main view structures are Slices (flat lists) and Graphs (containing relationships between entries). | 884 | CWE Cross-section |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 930 | OWASP Top Ten 2013 Category A2 - Broken Authentication and Session Management |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 963 | SFP Secondary Cluster: Exposed Data |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 1028 | OWASP Top Ten 2017 Category A2 - Broken Authentication |
| MemberOf | ViewView - a subset of CWE entries that provides a way of examining CWE content. The two main view structures are Slices (flat lists) and Graphs (containing relationships between entries). | 1337 | Weaknesses in the 2021 CWE Top 25 Most Dangerous Software Weaknesses |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 1348 | OWASP Top Ten 2021 Category A04:2021 - Insecure Design |
| MemberOf | ViewView - a subset of CWE entries that provides a way of examining CWE content. The two main view structures are Slices (flat lists) and Graphs (containing relationships between entries). | 1350 | Weaknesses in the 2020 CWE Top 25 Most Dangerous Software Weaknesses |
| MemberOf | CategoryCategory - a CWE entry that contains a set of other entries that share a common characteristic. | 1396 | Comprehensive Categorization: Access Control |
Rationale
This CWE entry is a Class and might have Base-level children that would be more appropriateComments
Examine children of this entry to see if there is a better fit| Mapped Taxonomy Name | Node ID | Fit | Mapped Node Name |
|---|---|---|---|
| OWASP Top Ten 2007 | A7 | CWE More Specific | Broken Authentication and Session Management |
| OWASP Top Ten 2004 | A3 | CWE More Specific | Broken Authentication and Session Management |
| CAPEC-ID | Attack Pattern Name |
|---|---|
| CAPEC-102 | Session Sidejacking |
| CAPEC-474 | Signature Spoofing by Key Theft |
| CAPEC-50 | Password Recovery Exploitation |
| CAPEC-509 | Kerberoasting |
| CAPEC-551 | Modify Existing Service |
| CAPEC-555 | Remote Services with Stolen Credentials |
| CAPEC-560 | Use of Known Domain Credentials |
| CAPEC-561 | Windows Admin Shares with Stolen Credentials |
| CAPEC-600 | Credential Stuffing |
| CAPEC-644 | Use of Captured Hashes (Pass The Hash) |
| CAPEC-645 | Use of Captured Tickets (Pass The Ticket) |
| CAPEC-652 | Use of Known Kerberos Credentials |
| CAPEC-653 | Use of Known Operating System Credentials |
| Submissions | ||
|---|---|---|
| Submission Date | Submitter | Organization |
|
2006年07月19日
(CWE Draft 3, 2006年07月19日) |
Anonymous Tool Vendor (under NDA) | |
| Modifications | ||
| Modification Date | Modifier | Organization |
| 2023年10月26日 | CWE Content Team | MITRE |
| updated Observed_Examples | ||
| 2023年06月29日 | CWE Content Team | MITRE |
| updated Mapping_Notes | ||
| 2023年04月27日 | CWE Content Team | MITRE |
| updated Detection_Factors, Relationships | ||
| 2023年01月31日 | CWE Content Team | MITRE |
| updated Applicable_Platforms, Observed_Examples, Relationships | ||
| 2022年10月13日 | CWE Content Team | MITRE |
| updated Demonstrative_Examples, Observed_Examples, References, Relationships | ||
| 2021年10月28日 | CWE Content Team | MITRE |
| updated Relationships | ||
| 2021年07月20日 | CWE Content Team | MITRE |
| updated Relationships | ||
| 2021年03月15日 | CWE Content Team | MITRE |
| updated Demonstrative_Examples | ||
| 2020年08月20日 | CWE Content Team | MITRE |
| updated Related_Attack_Patterns, Relationships | ||
| 2020年02月24日 | CWE Content Team | MITRE |
| updated Description, Relationships, Type | ||
| 2019年06月20日 | CWE Content Team | MITRE |
| updated Related_Attack_Patterns, Relationships | ||
| 2019年01月03日 | CWE Content Team | MITRE |
| updated Related_Attack_Patterns | ||
| 2018年03月27日 | CWE Content Team | MITRE |
| updated Relationships | ||
| 2017年11月08日 | CWE Content Team | MITRE |
| updated Demonstrative_Examples, Modes_of_Introduction, Relationships, Taxonomy_Mappings | ||
| 2017年05月03日 | CWE Content Team | MITRE |
| updated Related_Attack_Patterns | ||
| 2014年07月30日 | CWE Content Team | MITRE |
| updated Relationships | ||
| 2014年06月23日 | CWE Content Team | MITRE |
| updated Other_Notes, Relationships | ||
| 2012年10月30日 | CWE Content Team | MITRE |
| updated Demonstrative_Examples, Potential_Mitigations | ||
| 2012年05月11日 | CWE Content Team | MITRE |
| updated Common_Consequences, Demonstrative_Examples, Observed_Examples, References, Related_Attack_Patterns, Relationships | ||
| 2011年06月01日 | CWE Content Team | MITRE |
| updated Common_Consequences | ||
| 2011年03月29日 | CWE Content Team | MITRE |
| updated Relationships | ||
| 2009年05月27日 | CWE Content Team | MITRE |
| updated Related_Attack_Patterns | ||
| 2008年09月08日 | CWE Content Team | MITRE |
| updated Relationships, Other_Notes, Taxonomy_Mappings | ||
| 2008年07月01日 | Eric Dalci | Cigital |
| updated Potential_Mitigations, Time_of_Introduction | ||
Use of the Common Weakness Enumeration (CWE™) and the associated references from this website are subject to the Terms of Use. CWE is sponsored by the U.S. Department of Homeland Security (DHS) Cybersecurity and Infrastructure Security Agency (CISA) and managed by the Homeland Security Systems Engineering and Development Institute (HSSEDI) which is operated by The MITRE Corporation (MITRE). Copyright © 2006–2025, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation.