Skip to main content

rustls EUVDEUVD-2026-119370

| CVE-2026-123611 MEDIUM
Selection of Less-Secure Algorithm During Negotiation ('Algorithm Downgrade') (CWE-757)
2026-11-08 VulnCheck GHSA-jh53-vxwq-v4wp
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Position to answer target name's connection
  2. Delivery
    Send unauthenticated ServerHello selecting X25519
  3. Exploit
    Poison per-name key-share prediction record
  4. Execution
    Client later sends only classical share
  5. Persist
    Server accepts classical group
  6. Impact
    Post-quantum confidentiality lost (harvest-now-decrypt-later)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Algorithm negotiation safety
Exploitation Conditions

Exploitation requires that the rustls client store a per-server-name key-exchange prediction record - the advisory states that with resumption disabled nothing is stored and the attack does not trigger. The attacker must be able to answer one connection attempt for the exact target server name with a ServerHello selecting X25519 and close it (no certificate or completed handshake needed); the record is per-name, so a different server name is unaffected. The downgrade only completes if the GENUINE server then accepts the lone classical X25519 share instead of sending a HelloRetryRequest for its preferred hybrid group - the advisory calls this a server policy decision, and servers that issue a HelloRetryRequest stay hybrid and are not affected. Both peers must otherwise support the hybrid X25519MLKEM768 group. The high attack complexity and attack requirement (AC:H/AT:P) reflect these preconditions; the trigger is a protocol-state poisoning via an unauthenticated message as described, not a memory-corruption or timing bug.

Impact

This is a genuine but low-urgency issue, correctly deprioritized. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:L) scores 6.3 (Medium): network-reachable and unauthenticated, but with high attack complexity, a specific attack requirement (AT:P), and only limited confidentiality impact. Those tempering metrics are consistent with the advisory: exploitation does not compromise keys, bypass authentication, or raise an error - it silently strips post-quantum protection so recorded traffic is exposed only to a FUTURE quantum adversary (harvest-now-decrypt-later). No CISA KEV listing and no EPSS score are provided in the input, and no PoC or exploit code is referenced (only the GHSA advisory and patch commits), so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_month', not act_now/emergency, which aligns with the signals. Critically, the advisory itself states the real impact is 'largely down to a server policy decision' - a server that sends a HelloRetryRequest for its preferred hybrid group is not affected - so the realized risk is narrower than the network-vector metric alone suggests. No conflicting signals: all sources agree this is a downgrade/forward-secrecy-against-quantum concern, not an immediate confidentiality break.

Exploit ScenarioDerived

An attacker positioned to answer a connection attempt for a target server name responds to one rustls client connection with a ServerHello selecting classical X25519, then closes. The poisoned per-name key-share prediction record causes that client's subsequent ClientHellos for the same name to carry only a classical X25519 share; if the genuine server accepts it instead of requesting the hybrid group, the handshake completes with classical-only key exchange and post-quantum confidentiality is silently lost for recorded sessions. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 08, 2026

rustls clients before 0.23.46 can be steered into classical-only TLS 1.3 key exchange by an unauthenticated network attacker who answers a single connection attempt for a target name with a ServerHello selecting X25519, poisoning the client's per-server-name key-exchange group record so later ClientHellos for that name carry only a classical share even though supported_groups still lists X25519MLKEM768 first. The downgrade only completes if the genuine server accepts that lone X25519 share instead of issuing a HelloRetryRequest for its preferred hybrid group; when it does, the handshake finishes without error and post-quantum confidentiality is silently lost for those sessions, with no key compromise and no authentication bypass. No public exploit has been identified at time of analysis, and clients configured with resumption disabled store nothing and do not trigger the issue.

RemediationAI

Upgrade to rustls 0.23.46 on the stable branch, or to 0.24.0-dev.2 if tracking the 0.24.0 development line; the fixes are carried in https://github.com/rustls/rustls/pull/3355 and commit 8fa0dc5d517a63411ad1e528249bdf5b098ae5e4, and the vendor advisory is at https://github.com/rustls/rustls/security/advisories/GHSA-w44r-93j7-qv28. Where an upgrade cannot be applied immediately, the advisory notes that a client configuration with resumption disabled stores nothing and therefore does not trigger the downgrade, at the cost of losing session resumption performance; a different server name is unaffected because the record is per name. Server operators can also keep connections hybrid by issuing a HelloRetryRequest for their preferred X25519MLKEM768 group rather than accepting a lone classical X25519 share, which preserves post-quantum confidentiality at the cost of one additional round trip.

Affected VersionsENISA

rustls 0 <0.23.46

Affected Packages

cargo rustls fix: 0.23.46, 0.24.0-dev.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

rustls 0.23.x predicts which key-exchange group a server will want and pre-generates a key_share for it, caching that decision per server name. That record is written when the ServerHello is processed, before the server is authenticated, so an attacker who parses the ClientHello, replies with a ServerHello selecting X25519 and closes the connection permanently biases the client's future ClientHellos for that name toward a single classical share, while supported_groups continues to advertise X25519MLKEM768 first. TLS 1.3 transcript binding prevents an on-path attacker from editing a single ClientHello in flight but does not stop this pre-connection steering of the client's prediction state, because the state originates from an unauthenticated message. The flaw is classified CWE-757 (Selection of a Less-Secure Algorithm During Negotiation) and is exactly the scenario analyzed in draft-ietf-tls-key-share-prediction; the real outcome depends on server policy, since a server that sends a HelloRetryRequest for its preferred hybrid group keeps the connection hybrid at the cost of an extra round trip, whereas a server that accepts the available classical share completes a hybrid-capable handshake without post-quantum protection. The CVSS 4.0 AC:H/AT:P metrics reflect the requirement that the attacker reach the client for the exact target name and that the genuine server then decline to request a retry, not any memory-corruption or timing condition.

Know when Rustls gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because it needs client-side storage enabled, attacker answering the connection, and a permissive server policy; only future-quantum confidentiality is lost (C:L), no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 08, 2026 - 03:01 EUVD
CVE Published
Nov 08, 2026 - 01:38 cve.org
MEDIUM 6.3

DescriptionCVE.org

rustls before 0.23.46 contains a key exchange downgrade vulnerability that allows network attackers to poison the per-server-name key-exchange group record via an unauthenticated ServerHello. Attackers can answer one connection with a ServerHello selecting X25519, causing later ClientHellos to send only classical shares and lose post-quantum confidentiality.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
widely used Rust TLS library, growing adoption but not universal deployment
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy