CWEweakness

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

Official page ↗
Abstraction
Variant
Structure
Simple
Status
Incomplete
Languages
Not Language-Specific
CWE version
5.0

Description

The product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product does not also use a salt as part of the input.

Common consequences

• Access Control: Bypass Protection Mechanism, Gain Privileges or Assume Identity — If an attacker can gain access to the hashes, then the lack of a salt makes it easier to conduct brute force attacks. For example, the hash value might be able to be pre-computed using dictionary attack techniques such as rainbow tables. Offline password cracking can still be effective if the hash function is not expensive to compute; many cryptographic functions are designed to be efficient and can be vulnerable to attacks using massive computing resources, even if the hash is cryptographically strong.

Potential mitigations

• [Architecture and Design] Use an adaptive hash function that can be configured to change the amount of computational effort needed to compute the hash, such as the number of iterations ("stretching") or the amount of memory required. Some hash functions perform salting automatically. These functions can significantly increase the overhead for a brute force attack compared to intentionally-fast functions such as MD5. For example, rainbow table attacks can become infeasible due to the high computing overhead. Finally, since computing power gets faster and cheaper over time, the technique can be reconfigured to increase the workload without forcing an entire replacement of the algorithm in use. Some hash functions that have one or more of these desired properties include bcrypt [REF-291], scrypt [REF-292], and PBKDF2 [REF-293]. While there is active debate about which of these is the most effective, they are all stronger than using salts with hash functions with very little computing overhead. • [Architecture and Design] If a technique that requires extra computational effort can not be implemented, then for each password that is processed, generate a new random salt using a strong random number generator with unpredictable seeds. Add the salt to the plaintext password before hashing it. When storing the hash, also store the salt. Do not use the same salt for every password. • [Implementation, Architecture and Design] When using industry-approved techniques, use them correctly. Don't cut corners by skipping resource-intensive steps (CWE-325). These steps are often essential for preventing common attacks.

Detection methods

• Automated Static Analysis - Binary or Bytecode: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Bytecode Weakness Analysis - including disassembler + source code weakness analysis • Binary Weakness Analysis - including disassembler + source code weakness analysis • Manual Static Analysis - Binary or Bytecode: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies • Manual Static Analysis - Source Code: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Focused Manual Spotcheck - Focused manual analysis of source • Manual Source Code Review (not inspections) • Automated Static Analysis - Source Code: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Source code Weakness Analyzer • Context-configured Source Code Weakness Analyzer • Automated Static Analysis: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Configuration Checker • Architecture or Design Review: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Formal Methods / Correct-By-Construction Cost effective for partial coverage: • Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)

Observed examples

• CVE-2008-1526: Router does not use a salt with a hash, making it easier to crack passwords. • CVE-2006-1058: Router does not use a salt with a hash, making it easier to crack passwords.

Related

Observed example · CVE (2)

  • CVE-2008-1526 ZyXEL Prestige routers, including P-660, P-661, and P-662 models with firmware 3.40(PE9) and 3.40(AGD.2) through 3.40(AHQ.3), do not use a… vulnerability
  • CVE-2006-1058 BusyBox 1.1.1 does not use a salt when generating passwords, which makes it easier for local users to guess passwords from a stolen… vulnerability

Child of · CWE (1)

  • CWE-916 Use of Password Hash With Insufficient Computational Effort weakness

Referenced by CVE · weakness (22)

  • CVE-2026-96552 A vulnerability was identified in sfturing hosp_order up to 627f426331da8086ce8fff2017d65b1ddef384f8. vulnerability
  • CVE-2026-6217 Use of a One-Way hash without a salt vulnerability in Pik Online Software Solutions Inc. vulnerability
  • CVE-2025-36271 IBM Integrated Analytics System 1.0.0.0 through 1.0.31.0 uses weaker than expected cryptographic algorithms that could allow an attacker to… vulnerability
  • CVE-2026-57263 A vulnerability has been identified in LOGO! vulnerability
  • CVE-2025-15544 A cryptographic weakness exists in the Omada device adoption process. vulnerability
  • CVE-2025-15631 A cryptographic weakness exists in affected Omada devices where site credentials are protected using a legacy hashing algorithm that does… vulnerability
  • CVE-2026-45787 electerm is an open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client. vulnerability
  • CVE-2026-45027 WeGIA is a web manager for charitable institutions. vulnerability
  • CVE-2026-9370 A weakness has been identified in ulisesbocchio jasypt-spring-boot up to 3.0.5/4.0.4. vulnerability
  • CVE-2025-36253 IBM Concert 1.0.0 through 2.1.0 uses weaker than expected cryptographic algorithms that could allow an attacker to decrypt highly sensitive… vulnerability
  • CVE-2025-34208 Vasion Print (formerly PrinterLogic) Virtual Appliance Host and Application (VA/SaaS deployments) store user passwords using unsalted… vulnerability
  • CVE-2025-10205 Use of a One-Way Hash with a Predictable Salt vulnerability in ABB FLXEON.This issue affects FLXEON: through 9.3.5. vulnerability
  • CVE-2025-53884 NeuVector stores user passwords and API keys using a simple, unsalted hash. vulnerability
  • CVE-2025-5922 Access to TSplus Remote Access Admin Tool is restricted to administrators (unless "Disable UAC" option is enabled) and requires a PIN code. vulnerability
  • CVE-2025-27408 Manifest offers users a one-file micro back end. vulnerability
  • CVE-2023-33838 IBM Security Verify Governance 10.0.2 Identity Manager uses a one-way cryptographic hash against an input that should not be reversible,… vulnerability
  • CVE-2024-8453 Certain switch models from PLANET Technology use an insecure hashing function to hash user passwords without being salted. vulnerability
  • CVE-2024-36440 An issue was discovered on Swissphone DiCal-RED 4009 devices. vulnerability
  • CVE-2023-1430 The FluentCRM - Marketing Automation For WordPress plugin for WordPress is vulnerable to unauthorized modification of data in versions up… vulnerability
  • CVE-2020-25164 A vulnerability in the B. vulnerability
  • CVE-2021-21253 OnlineVotingSystem is an open source project hosted on GitHub. vulnerability
  • CVE-2020-16244 GE Digital APM Classic, Versions 4.4 and prior. vulnerability

Referenced by OWASP · mapped cwe (2)

  • A04:2025 Cryptographic Failures Top 10 2025
  • A02:2021 Cryptographic Failures Top 10 2021