Description
The product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm.
Potential Impact
Access Control
Bypass Protection Mechanism
Confidentiality, Integrity
Read Application Data, Modify Application Data
Accountability, Non-Repudiation
Hide Activities
Demonstrative Examples
logic [511:0] bigData;
...
hmac hmac(
.clk_i(clk_i),
.rst_ni(rst_ni && ~rst_4),
.init_i(startHash && ~startHash_r),
.key_i(key),
.ikey_hash_i(ikey_hash),
.okey_hash_i(okey_hash),
.key_hash_bypass_i(key_hash_bypass),
.message_i(bigData),
.hash_o(hash),
.ready_o(ready),
.hash_valid_o(hashValid)Detection Methods
- Automated Static Analysis — 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 sea
Real-World CVE Examples
| CVE ID | Description |
|---|---|
| CVE-2001-1585 | Missing challenge-response step allows authentication bypass using public key. |
Related Weaknesses
Taxonomy Mappings
- PLOVER: — Missing Required Cryptographic Step
- OWASP Top Ten 2007: A8 — Insecure Cryptographic Storage
- OWASP Top Ten 2007: A9 — Insecure Communications
Frequently Asked Questions
What is CWE-325?
CWE-325 (Missing Cryptographic Step) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. The product does not implement a required step in a cryptographic algorithm, resulting in weaker encryption than advertised by the algorithm.
How can CWE-325 be exploited?
Attackers can exploit CWE-325 (Missing Cryptographic Step) to bypass protection mechanism. This weakness is typically introduced during the Implementation, Requirements phase of software development.
How do I prevent CWE-325?
Follow secure coding practices, conduct code reviews, and use automated security testing tools (SAST/DAST) to detect this weakness early in the development lifecycle.
What is the severity of CWE-325?
CWE-325 is classified as a Base-level weakness (Medium abstraction). It has been observed in 1 real-world CVEs.