SiteShadow
Back to vulnerability library

CWE-256 Plaintext Storage of a Password

What this means

SiteShadow flagged a password being stored or handled without proper one-way password hashing (plaintext storage, reversible "encryption," or weak hashing).

Why it matters

If a database or log is leaked, plaintext passwords are immediately usable.

Safer examples

1) Hash passwords with Argon2id/scrypt/bcrypt

from argon2 import PasswordHasher
ph = PasswordHasher()
stored_hash = ph.hash(password)

2) Verify using the hashing library (constant time)

ph.verify(stored_hash, password_attempt)

3) Never "decrypt passwords"

Passwords are verified, not decrypted. If you need a recoverable secret, store a separate secret with separate protection.

How SiteShadow detects it (high level)

References

---

← Back to Vulnerability Library

Request access View coverage