Description
A protocol or its implementation supports interaction between multiple actors and allows those actors to negotiate which algorithm should be used as a protection mechanism such as encryption or authentication, but it does not select the strongest algorithm that is available to both parties.
When a security mechanism can be forced to downgrade to use a less secure algorithm, this can make it easier for attackers to compromise the product by exploiting weaker algorithm. The victim might not be aware that the less secure algorithm is being used. For example, if an attacker can force a communications channel to use cleartext instead of strongly-encrypted data, then the attacker could read the channel by sniffing, instead of going through extra effort of trying to decrypt the data using brute force techniques.
Potential Impact
Access Control
Bypass Protection Mechanism
Detection Methods
- Automated Static Analysis High — 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-2006-4302 | Attacker can select an older version of the software to exploit its vulnerabilities. |
| CVE-2006-4407 | Improper prioritization of encryption ciphers during negotiation leads to use of a weaker cipher. |
| CVE-2005-2969 | chain: SSL/TLS implementation disables a verification step (CWE-325) that enables a downgrade attack to a weaker protocol. |
| CVE-2001-1444 | Telnet protocol implementation allows downgrade to weaker authentication and encryption using an Adversary-in-the-Middle AITM attack. |
| CVE-2002-1646 | SSH server implementation allows override of configuration setting to use weaker authentication schemes. This may be a composite with CWE-642. |
Related Weaknesses
Frequently Asked Questions
What is CWE-757?
CWE-757 (Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Base-level weakness. A protocol or its implementation supports interaction between multiple actors and allows those actors to negotiate which algorithm should be used as a protection mechanism such as encryption or authen...
How can CWE-757 be exploited?
Attackers can exploit CWE-757 (Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')) to bypass protection mechanism. This weakness is typically introduced during the Architecture and Design phase of software development.
How do I prevent CWE-757?
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-757?
CWE-757 is classified as a Base-level weakness (Medium abstraction). It has been observed in 5 real-world CVEs.