CWEweakness

CWE-327 Use of a Broken or Risky Cryptographic Algorithm

High Official page ↗
Abstraction
Class
Structure
Simple
Status
Draft
Likelihood of exploit
High
Languages
Not Language-Specific, VHDL, Verilog
CWE version
5.0

Description

The product uses a broken or risky cryptographic algorithm or protocol.

Extended description

Cryptographic algorithms are the methods by which data is scrambled to prevent observation or influence by unauthorized actors. Insecure cryptography can be exploited to expose sensitive information, modify data in unexpected ways, spoof identities of other users or devices, or other impacts. It is very difficult to produce a secure algorithm, and even high-profile algorithms by accomplished cryptographic experts have been broken. Well-known techniques exist to break or weaken various kinds of cryptography. Accordingly, there are a small number of well-understood and heavily studied algorithms that should be used by most products. Using a non-standard or known-insecure algorithm is dangerous because a determined adversary may be able to break the algorithm and compromise whatever data has been protected. Since the state of cryptography advances so rapidly, it is common for an algorithm to be considered "unsafe" even if it was once thought to be strong. This can happen when new attacks are discovered, or if computing power increases so much that the cryptographic algorithm no longer provides the amount of protection that was originally thought. For a number of reasons, this weakness is even more challenging to manage with hardware deployment of cryptographic algorithms as opposed to software implementation. First, if a flaw is discovered with hardware-implemented cryptography, the flaw cannot be fixed in most cases without a recall of the product, because hardware is not easily replaceable like software. Second, because the hardware product is expected to work for years, the adversary's computing power will only increase over time.

Common consequences

• Confidentiality: Read Application Data — The confidentiality of sensitive data may be compromised by the use of a broken or risky cryptographic algorithm. • Integrity: Modify Application Data — The integrity of sensitive data may be compromised by the use of a broken or risky cryptographic algorithm. • Accountability, Non-Repudiation: Hide Activities — If the cryptographic algorithm is used to ensure the identity of the source of the data (such as digital signatures), then a broken algorithm will compromise this scheme and the source of the data cannot be proven.

Potential mitigations

• [Architecture and Design] When there is a need to store or transmit sensitive data, use strong, up-to-date cryptographic algorithms to encrypt that data. Select a well-vetted algorithm that is currently considered to be strong by experts in the field, and use well-tested implementations. As with all cryptographic mechanisms, the source code should be available for analysis. For example, US government systems require FIPS 140-2 certification [REF-1192]. Do not develop custom or private cryptographic algorithms. They will likely be exposed to attacks that are well-understood by cryptographers. Reverse engineering techniques are mature. If the algorithm can be compromised if attackers find out how it works, then it is especially weak. Periodically ensure that the cryptography has not become obsolete. Some older algorithms, once thought to require a billion years of computing time, can now be broken in days or hours. This includes MD4, MD5, SHA1, DES, and other algorithms that were once regarded as strong. [REF-267] • [Architecture and Design] Ensure that the design allows one cryptographic algorithm to be replaced with another in the next generation or version. Where possible, use wrappers to make the interfaces uniform. This will make it easier to upgrade to stronger algorithms. With hardware, design the product at the Intellectual Property (IP) level so that one cryptographic algorithm can be replaced with another in the next generation of the hardware product. • [Architecture and Design] Carefully manage and protect cryptographic keys (see CWE-320). If the keys can be guessed or stolen, then the strength of the cryptography itself is irrelevant. • [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. Industry-standard implementations will save development time and may be more likely to avoid errors that can occur during implementation of cryptographic algorithms. Consider the ESAPI Encryption feature. • [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 Analysis: Automated methods may be useful for recognizing commonly-used libraries or features that have become obsolete. • Manual Analysis: This weakness can be detected using tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session. • 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 • Binary / Bytecode simple extractor - strings, ELF readers, etc. • 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 • Dynamic Analysis with Automated Results Interpretation: According to SOAR [REF-1479], the following detection techniques may be useful: Cost effective for partial coverage: • Web Application Scanner • Web Services Scanner • Database Scanners • Dynamic Analysis with Manual Results Interpretation: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Man-in-the-middle attack tool Cost effective for partial coverage: • Framework-based Fuzzer • Automated Monitored Execution • Monitored Virtual Environment - run potentially malicious code in sandbox / wrapper / virtual machine, see if it does anything suspicious • Manual Static Analysis - Source Code: According to SOAR [REF-1479], the following detection techniques may be useful: Highly cost effective: • Manual Source Code Review (not inspections) Cost effective for partial coverage: • Focused Manual Spotcheck - Focused manual analysis of source • 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-2022-30273: SCADA-based protocol supports a legacy encryption mode that uses Tiny Encryption Algorithm (TEA) in ECB mode, which leaks patterns in messages and cannot protect integrity • CVE-2022-30320: Programmable Logic Controller (PLC) uses a protocol with a cryptographically insecure hashing algorithm for passwords. • CVE-2008-3775: Product uses "ROT-25" to obfuscate the password in the registry. • CVE-2007-4150: product only uses "XOR" to obfuscate sensitive data • CVE-2007-5460: product only uses "XOR" and a fixed key to obfuscate sensitive data • CVE-2005-4860: Product substitutes characters with other characters in a fixed way, and also leaves certain input characters unchanged. • CVE-2002-2058: Attackers can infer private IP addresses by dividing each octet by the MD5 hash of '20'. • CVE-2008-3188: Product uses DES when MD5 has been specified in the configuration, resulting in weaker-than-expected password hashes. • CVE-2005-2946: Default configuration of product uses MD5 instead of stronger algorithms that are available, simplifying forgery of certificates. • CVE-2007-6013: Product uses the hash of a hash for authentication, allowing attackers to gain privileges if they can obtain the original hash.

Related

Attack pattern · CAPEC (7)

  • CAPEC-20 Encryption Brute Forcing attack pattern
  • CAPEC-459 Creating a Rogue Certification Authority Certificate attack pattern
  • CAPEC-473 Signature Spoof attack pattern
  • CAPEC-475 Signature Spoofing by Improper Validation attack pattern
  • CAPEC-608 Cryptanalysis of Cellular Encryption attack pattern
  • CAPEC-614 Rooting SIM Cards attack pattern
  • CAPEC-97 Cryptanalysis attack pattern

Observed example · CVE (10)

  • CVE-2022-30320 Saia Burgess Controls (SBC) PCD through 2022-05-06 uses a Broken or Risky Cryptographic Algorithm. vulnerability
  • CVE-2022-30273 The Motorola MDLC protocol through 2022-05-02 mishandles message integrity. vulnerability
  • CVE-2008-3775 Folder Lock 5.9.5 and earlier uses weak encryption (ROT-25) for the password, which allows local administrators to obtain sensitive… vulnerability
  • CVE-2008-3188 libxcrypt in SUSE openSUSE 11.0 uses the DES algorithm when the configuration specifies the MD5 algorithm, which makes it easier for… vulnerability
  • CVE-2007-6013 Wordpress 1.5 through 2.3.1 uses cookie values based on the MD5 hash of a password MD5 hash, which allows attackers to bypass… vulnerability
  • CVE-2007-5460 Microsoft ActiveSync 4.1, as used in Windows Mobile 5.0, uses weak encryption (XOR obfuscation with a fixed key) when sending the user's… vulnerability
  • CVE-2007-4150 The Visionsoft Audit on Demand Service (VSAOD) in Visionsoft Audit 12.4.0.0 uses weak cryptography (XOR) when (1) transmitting passwords,… vulnerability
  • CVE-2005-4860 Spectrum Cash Receipting System before 6.504 uses weak cryptography (static substitution) in the PASSFILE password file, which makes it… vulnerability
  • CVE-2005-2946 The default configuration on OpenSSL before 0.9.8 uses MD5 for creating message digests instead of a more cryptographically strong… vulnerability
  • CVE-2002-2058 TeeKai Tracking Online 1.0 uses weak encryption of web usage statistics in data/userlog/log.txt, which allows remote attackers to identify… vulnerability

Child of · CWE (1)

  • CWE-693 Protection Mechanism Failure weakness

Peer of · CWE (1)

  • CWE-311 Missing Encryption of Sensitive Data weakness

Referenced by CAPEC · weakness (7)

  • CAPEC-20 Encryption Brute Forcing attack pattern
  • CAPEC-459 Creating a Rogue Certification Authority Certificate attack pattern
  • CAPEC-473 Signature Spoof attack pattern
  • CAPEC-475 Signature Spoofing by Improper Validation attack pattern
  • CAPEC-608 Cryptanalysis of Cellular Encryption attack pattern
  • CAPEC-614 Rooting SIM Cards attack pattern
  • CAPEC-97 Cryptanalysis attack pattern

Referenced by CVE · weakness (726)

  • CVE-2026-118684 MONAI before 1.6.1 contains an insufficient integrity verification vulnerability in check_hash() that silently returns True when hash_val… vulnerability
  • CVE-2026-108014 Private keys for eight eMudhra intermediate CA certificates have been compromised https://emudhra.we-have-a-problem.com/ , which impacts… vulnerability
  • CVE-2026-108015 Private keys for eight eMudhra intermediate CA certificates have been compromised https://emudhra.we-have-a-problem.com/ , which impacts… vulnerability
  • CVE-2026-114820 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: JSSE). vulnerability
  • CVE-2026-91403 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: JSSE). vulnerability
  • CVE-2026-3161 IBM Cloud Pak System 2.3.6.0, and 2.3.6.1 uses weaker than expected cryptographic algorithms that could allow an attacker to decrypt highly… vulnerability
  • CVE-2026-6930 IBM Concert 1.0 through 3.0.0 uses weaker than expected cryptographic algorithms that could allow an attacker to decrypt highly sensitive… vulnerability
  • CVE-2026-59116 Use of a broken or risky cryptographic algorithm in Windows Remote Desktop allows an unauthorized attacker to bypass a security feature… vulnerability
  • CVE-2026-102824 Russh is a Rust SSH client and server library. vulnerability
  • CVE-2026-18104 IBM Db2 Mirror for i 7.6, 7.5, and 7.4 could allow a local attacker to obtain sensitive information due to the use of the AES Electronic… vulnerability
  • CVE-2026-82356 Imprivata EAM <=26.2.6 lacks the ability to rotate its RSA key pair after deployment when generating an X.509 certificate. vulnerability
  • CVE-2025-36084 IBM Concert 1.0.0 through 3.0.0 uses weaker than expected cryptographic algorithms that could allow an attacker to decrypt highly sensitive… vulnerability
  • CVE-2026-18153 IBM Financial Transaction Manager (FTM) for RedHat OpenShift could allow a remote authenticated attacker to obtain sensitive information… vulnerability
  • CVE-2024-56344 IBM Cognos Analytics 12.0.4 through 12.0.4 FP2, and 12.1.0 through 12.1.3 FP1 could allow a remote attacker to obtain sensitive… vulnerability
  • CVE-2025-33147 IBM Cognos Analytics 12.1.0 through 12.1.3 FP1, and 12.0.4 through 12.0.4 FP2 could allow an attacker on a shared network to obtain… vulnerability
  • CVE-2026-54147 http4k is a functional toolkit for Kotlin HTTP applications. vulnerability
  • CVE-2026-81438 Dell OpenManage Server Administrator, versions prior to 11.1.0.3, contains Use of a Broken or Risky Cryptographic Algorithm vulnerability. vulnerability
  • CVE-2025-36591 Dell ECS versions 3.8.1.0 through 3.8.1.7, and Dell ObjectScale versions prior to 4.4.0.0, contains an Use of a Broken or Risky… vulnerability
  • CVE-2026-15638 An unauthenticated user with access to Secret Server could leverage a padding oracle to decrypt or encrypt data using one of the server's… vulnerability
  • CVE-2026-11929 IBM Security Verify Identity Access Reverse Proxy in certain configurations may provide weaker than expected cryptographic validation of… vulnerability
  • CVE-2026-17467 IBM Cloud Pak for Data System (Yosemite 1.0) 3.0.5.2 could allow a remote attacker to obtain sensitive information due to the use of weak… vulnerability
  • CVE-2026-69382 Use of a broken or risky cryptographic algorithm in Microsoft Exchange Server allows an unauthorized attacker to disclose information over… vulnerability
  • CVE-2026-81822 The vulnerability, if exploited, could allow a miscreant with read access to PIMBoards project files to reverse engineer PIMBoards users’… vulnerability
  • CVE-2026-16693 IBM i 7.6, 7.5, 7.4, and 7.3 could allow a remote authenticated attacker to obtain sensitive information due to the use of hardcoded… vulnerability
  • CVE-2026-81859 CP4BA - IBM Enterprise Records could allow a local attacker to obtain sensitive information due to the use of a broken or risky… vulnerability
  • CVE-2026-76133 The affected Ebyte product uses a deprecated hashing algorithm in an authentication-related operation. vulnerability
  • CVE-2025-30156 Ceph is an open-source distributed storage platform providing object, block, and file storage. vulnerability
  • CVE-2026-39944 Ceph is an open-source distributed storage platform providing object, block, and file storage. vulnerability
  • CVE-2026-78236 An insecure PIN derivation mechanism in ABR allows a low-privileged user to escalate privileges to administrator by communicating over… vulnerability
  • CVE-2026-77151 A security flaw has been discovered in lin-snow Ech0 up to 5.4.1. vulnerability
Show all 726 ›

Referenced by CWE · can precede (1)

  • CWE-208 Observable Timing Discrepancy weakness

Referenced by CWE · child of (4)

  • CWE-1240 Use of a Cryptographic Primitive with a Risky Implementation weakness
  • CWE-328 Use of Weak Hash weakness
  • CWE-780 Use of RSA Algorithm without OAEP weakness
  • CWE-916 Use of Password Hash With Insufficient Computational Effort weakness

Referenced by CWE · has member (2)

  • CWE-1003 Weaknesses for Simplified Mapping of Published Vulnerabilities view
  • CWE-884 CWE Cross-section view

Referenced by CWE · peer of (1)

  • CWE-301 Reflection Attack in an Authentication Protocol weakness

Referenced by OWASP · mapped cwe (2)

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