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.)
Weak Encoding for Password
Using simple encoding like Base64 to hide a password provides no real security, as it can be easily reversed.
What is CWE-261?
Real-world CVEs caused by CWE-261
Bisher sind in MITREs Katalog keine öffentlichen CVE-Referenzen mit dieser CWE verknüpft.
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 with access to config.properties can read the value of password and easily determine that the value has been base 64 encoded. 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.
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 = Base64.decode(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-261
- Passwords should be encrypted with keys that are at least 128 bits in length for adequate security.
How to detect CWE-261
Plexicus erkennt CWE-261 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-261?
Using simple encoding like Base64 to hide a password provides no real security, as it can be easily reversed.
Wie gravierend ist CWE-261?
MITRE hat für diese Schwachstelle keine Exploit-Wahrscheinlichkeit veröffentlicht. Behandle sie als mittlere Auswirkung, bis dein Threat Model anderes belegt.
Welche Sprachen oder Plattformen sind von CWE-261 betroffen?
MITRE hat für diese CWE keine betroffenen Plattformen spezifiziert — sie kann in den meisten Anwendungs-Stacks auftreten.
Wie kann ich CWE-261 verhindern?
Passwords should be encrypted with keys that are at least 128 bits in length for adequate security.
Wie erkennt und behebt Plexicus CWE-261?
Die SAST-Engine von Plexicus erkennt die Datenfluss-Signatur von CWE-261 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-261?
MITRE veröffentlicht die kanonische Definition unter https://cwe.mitre.org/data/definitions/261.html. Für ergänzende Hinweise kannst du auch die OWASP- und NIST-Dokumentation heranziehen.
Weaknesses related to CWE-261
Insufficiently Protected Credentials
This vulnerability occurs when an application handles sensitive credentials like passwords or API keys in an insecure way, making them…
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…
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…
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-261 https://cwe.mitre.org/data/definitions/261.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
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.