SiteShadow
Back to vulnerability library

CWE-759 Use of a One-Way Hash without a Salt

What this means

SiteShadow flagged password/credential hashing that does not use a unique salt. Without a salt, identical passwords produce identical hashes, making offline cracking much easier.

Why it matters

Unsalted hashes are vulnerable to rainbow table attacks.

Safer examples

1) Use a password hashing algorithm that includes salts (recommended)

Use Argon2id, bcrypt, scrypt, or PBKDF2 (see CWE-916).

import bcrypt

pw_hash = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt())

2) Never use raw SHA-256/MD5 for passwords

Fast general-purpose hashes are not password hashing.

3) Store and verify correctly

Store the full encoded hash output (which includes the salt/params), and verify using the library's verify function.

How SiteShadow detects it (high level)

References

---

← Back to Vulnerability Library

Request access View coverage