Skip to content

CWE-757: Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade')

Base

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.

Consequences

  • Access Control: Bypass Protection Mechanism

Recent advisories

  • GHSA-w44r-93j7-qv28 — rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a classical X25519 share
  • GHSA-rqf5-2wxv-rjf4 — AsyncHttpClient: Digest challenge without a usable nonce downgrades to Basic and sends the password in cleartext
  • GHSA-9h47-pqcx-hjr4 — Better Auth has insecure cryptographic defaults in oidcProvider: alg=none advertised and plain PKCE accepted by default
  • GHSA-rrj9-5q2j-4gvr — Symfony: Mailomat Mailer Webhook Parser Reads the HMAC Algorithm from the Request: Signature Algorithm Downgrade

All advisories for CWE-757

Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor