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.)
Plaintext Storage of a Password
This vulnerability occurs when an application stores user passwords as readable text instead of using secure, one-way hashing. This insecure practice exposes credentials in memory, files, or…
What is CWE-256?
Real-world CVEs caused by CWE-256
-
Remote Terminal Unit (RTU) uses a driver that relies on a password stored in plaintext.
Angreiferpfad Schritt für Schritt
- 1
The following code reads a password from a properties file and uses the password to connect to a database.
- 2
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.
- 3
The following code reads a password from the registry and uses the password to create a new network credential.
- 4
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
- 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.
Vulnerable Java
The following code reads a password from a properties file and uses the password to connect to a database.
...
Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
String password = prop.getProperty("password");
DriverManager.getConnection(url, usr, password);
... Secure pseudo
// Validate, sanitize, or use a safe API before reaching the sink.
function handleRequest(input) {
const safe = validateAndEscape(input);
return executeWithGuards(safe);
} How to prevent CWE-256
- Architecture and Design Avoid storing passwords in easily accessible locations.
- Architecture and Design Consider storing cryptographic hashes of passwords as an alternative to storing in plaintext.
- A programmer might attempt to remedy the password management problem by obscuring the password with an encoding function, such as base 64 encoding, but this effort does not adequately protect the password because the encoding can be detected and decoded easily.
How to detect CWE-256
Plexicus erkennt CWE-256 automatisch und öffnet in unter 60 Sekunden einen Fix-PR.
Codex Remedium scannt jeden Commit, identifiziert genau diese Schwachstelle und liefert einen reviewer-ready Pull Request mit dem Patch. Keine Tickets. Keine Hand-offs.
Frequently asked questions
Was ist CWE-256?
This vulnerability occurs when an application stores user passwords as readable text instead of using secure, one-way hashing. This insecure practice exposes credentials in memory, files, or databases where attackers can easily retrieve them.
Wie gravierend ist CWE-256?
MITRE stuft die Exploit-Wahrscheinlichkeit als hoch ein — diese Schwachstelle wird aktiv in freier Wildbahn ausgenutzt und sollte priorisiert behoben werden.
Welche Sprachen oder Plattformen sind von CWE-256 betroffen?
MITRE lists the following affected platforms: ICS/OT.
Wie kann ich CWE-256 verhindern?
Avoid storing passwords in easily accessible locations. Consider storing cryptographic hashes of passwords as an alternative to storing in plaintext.
Wie erkennt und behebt Plexicus CWE-256?
Die SAST-Engine von Plexicus erkennt die Datenfluss-Signatur von CWE-256 bei jedem Commit. Bei einem Treffer öffnet unser Codex-Remedium-Agent einen Fix-PR mit korrigiertem Code, Tests und einer einzeiligen Zusammenfassung für den Reviewer.
Wo erfahre ich mehr über CWE-256?
MITRE veröffentlicht die kanonische Definition unter https://cwe.mitre.org/data/definitions/256.html. Für ergänzende Hinweise kannst du auch die OWASP- und NIST-Dokumentation heranziehen.
Weaknesses related to CWE-256
Insufficiently Protected Credentials
This vulnerability occurs when an application handles sensitive credentials like passwords or API keys in an insecure way, making them…
Storing Passwords in a Recoverable Format
This vulnerability occurs when an application stores user passwords in a format that can be easily reversed or decrypted back to their…
Password in Configuration File
This vulnerability occurs when an application stores sensitive passwords directly within a configuration file, making them easily readable…
Weak Encoding for Password
Using simple encoding like Base64 to hide a password provides no real security, as it can be easily reversed.
Unprotected Transport of Credentials
This vulnerability occurs when a login page or authentication system transmits user credentials (like usernames and passwords) over a…
Missing Password Field Masking
This vulnerability occurs when an application fails to hide password characters as they are typed, making them visible to anyone who can…
Further reading
- MITRE — offizielle CWE-256 https://cwe.mitre.org/data/definitions/256.html
- Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors https://samate.nist.gov/SSATTM_Content/papers/Seven%20Pernicious%20Kingdoms%20-%20Taxonomy%20of%20Sw%20Security%20Errors%20-%20Tsipenyuk%20-%20Chess%20-%20McGraw.pdf
- OT:ICEFALL: The legacy of "insecure by design" and its implications for certifications and risk management https://www.forescout.com/resources/ot-icefall-report/
Schluss mit dem Bezahlen pro Entwickler.
Schließ den Kreislauf.
Plexicus ist die KI-native ASPM, die scannt, filtert, fixt, pentestet und erklärt — autonom. Unbegrenzte Entwickler, unbegrenzte Repos, Fair-Use-KI-Aktionen. Echter kostenloser Tarif, €269/mo jährlich, wenn du bereit bist.