rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a
Affects rustlsSource GCVE Database
CVSS 3.7 Low : upgrade to 0.23.46 when convenient.
Data as of 27 Oct 2026, 17:42 UTC
- Patch
- Available – fixed in 0.23.46, 0.24.0-dev.2
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:NWhat to do
Upgrade rustls to 0.23.46; rustls to 0.24.0-dev.2.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| crates.iorustls | Affected
| Fixed in
|
| crates.iorustls | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A patch is available and should be applied. The issue is fixed in rustls versions 0.23.46 and 0.24.0-dev.2. Servers that send a HelloRetryRequest for their preferred hybrid group prevent this issue. Clients with resumption disabled are not affected. Applying the official fix eliminates the vulnerability.
Description
A vulnerability in rustls allows a network attacker to poison the client's per-server-name key-exchange record by sending an unauthenticated ServerHello selecting the X25519 group. This causes subsequent ClientHellos for that server name to carry only an X25519 share, potentially leading the handshake to complete with classical key exchange only, losing quantum-resistant confidentiality. No authentication bypass or key compromise occurs. The issue is fixed in rustls versions 0.23.46 and 0.24.0-dev.2.
References
- github.com/rustls/rustls/security/advisories/GHSA-w44r-93j7-qv28 (opens in a new tab)
- github.com/rustls/rustls/pull/3355 (opens in a new tab)
- github.com/rustls/rustls/commit/8fa0dc5d517a63411ad1e528249bdf5b098ae5e4 (opens in a new tab)
- github.com/rustls/rustls/commit/f04804fa13341a9b1dc02b5d1dd8a746f2c4b7fb (opens in a new tab)
- github.com/rustls/rustls (opens in a new tab)
- github.com/rustls/rustls/releases/tag/v/0.23.46 (opens in a new tab)
- rustsec.org/advisories/RUSTSEC-2026-0349.html (opens in a new tab)