Every CVESearch/Get API key

CVE-2026-123611

rustls before 0.23.46 Key Exchange Downgrade via Unauthenticated ServerHello

6.3 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.19%Unchanged since Nov 8, 2026
90%50%10%1%

What each source reports

CVE List Score used6.3

rustls before 0.23.46 Key Exchange Downgrade via Unauthenticated ServerHello

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.

Record
CVE-2026-123611
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-757
Updated
2026-11-08
EUVDEUVD-2026-1193706.3

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.

Record
EUVD-2026-119370
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-08
GitHub AdvisoriesGHSA-jh53-vxwq-v4wp6.3

rustls before 0.23.46 contains a key exchange downgrade vulnerability that allows network...

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.

Record
GHSA-jh53-vxwq-v4wp
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-757
Updated
2026-11-08
GitHub AdvisoriesGHSA-w44r-93j7-qv283.7

rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a classical X25519 share

Summary

The client records the server-selected key-exchange group per server name when it processes the ServerHello, before the server is authenticated. A network attacker can answer one connection attempt for a target name with a ServerHello that selects X25519 and close the connection. Later ClientHellos for that name carry one X25519 share while supported_groups still lists X25519MLKEM768 first. If the server accepts that share instead of sending a HelloRetryRequest, the handshake completes with classical key exchange only and no error.

An attacker that answers one connection attempt for the target name with a ServerHello selecting X25519 changes every later ClientHello of that client for that name, for as long as the entry stays in the store. No certificate or completed handshake is needed: it parses the ClientHello, sends the ServerHello, and closes.

TLS 1.3 transcript binding stops an on-path attacker from editing the ClientHello of one connection. It does not stop the attacker from steering the client's prediction state beforehand, because that state is written from an unauthenticated message.

What does not trigger it

  • Servers that send a HelloRetryRequest. The connection stays hybrid and costs one extra round trip.
  • A client configuration with resumption disabled: nothing is stored.
  • A different server name: the record is per name.

Impact

If the genuine server picks the group for which a share is present, instead of sending a HelloRetryRequest for its preferred hybrid group, the handshake completes with classical key exchange only, between two peers that both support the hybrid group. No error is raised. The confidentiality of recorded sessions against a future quantum adversary is lost for those connections (harvest now, decrypt later). There is no key compromise and no authentication bypass.

Note that this behaviour is discussed at length in draft-ietf-tls-key-share-prediction so the actual security impact is largely down to a server policy decision.

Record
GHSA-w44r-93j7-qv28
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-757
Updated
2026-11-02
NVD6.3

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.

Record
CVE-2026-123611
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-757
Updated
2026-11-13
OSV6.3

rustls before 0.23.46 Key Exchange Downgrade via Unauthenticated ServerHello

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.

Record
CVE-2026-123611
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-757
Updated
2026-11-08
Show 10 moreShow less
OSVDEBIAN-CVE-2026-1236116.3

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.

Record
DEBIAN-CVE-2026-123611
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-13
OSVGHSA-w44r-93j7-qv283.7

rustls: An unauthenticated ServerHello poisons the per-name key-exchange record, so later ClientHellos carry only a classical X25519 share

Summary

The client records the server-selected key-exchange group per server name when it processes the ServerHello, before the server is authenticated. A network attacker can answer one connection attempt for a target name with a ServerHello that selects X25519 and close the connection. Later ClientHellos for that name carry one X25519 share while supported_groups still lists X25519MLKEM768 first. If the server accepts that share instead of sending a HelloRetryRequest, the handshake completes with classical key exchange only and no error.

An attacker that answers one connection attempt for the target name with a ServerHello selecting X25519 changes every later ClientHello of that client for that name, for as long as the entry stays in the store. No certificate or completed handshake is needed: it parses the ClientHello, sends the ServerHello, and closes.

TLS 1.3 transcript binding stops an on-path attacker from editing the ClientHello of one connection. It does not stop the attacker from steering the client's prediction state beforehand, because that state is written from an unauthenticated message.

What does not trigger it

  • Servers that send a HelloRetryRequest. The connection stays hybrid and costs one extra round trip.
  • A client configuration with resumption disabled: nothing is stored.
  • A different server name: the record is per name.

Impact

If the genuine server picks the group for which a share is present, instead of sending a HelloRetryRequest for its preferred hybrid group, the handshake completes with classical key exchange only, between two peers that both support the hybrid group. No error is raised. The confidentiality of recorded sessions against a future quantum adversary is lost for those connections (harvest now, decrypt later). There is no key compromise and no authentication bypass.

Note that this behaviour is discussed at length in draft-ietf-tls-key-share-prediction so the actual security impact is largely down to a server policy decision.

Record
GHSA-w44r-93j7-qv28
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-757
Updated
2026-11-08
OSVRUSTSEC-2026-03493.7

Unauthenticated ServerHello can downgrade later connections to classical key exchange

The client recorded the server-selected key exchange group for each server name when processing the ServerHello, before the server was authenticated. This record is used to predict which key share to send in future ClientHellos to that server name.

A network attacker can answer one connection attempt with a ServerHello selecting X25519, and then close the connection. Later ClientHellos for that name carry only an X25519 key share, while supported_groups still lists X25519MLKEM768 first. If the genuine server accepts that share rather than sending a HelloRetryRequest for its preferred hybrid group, the handshake completes with classical-only key exchange and no error. This persists for as long as the entry stays in the client's session store.

The impact is loss of post-quantum confidentiality for affected connections ("harvest now, decrypt later"). There is no key compromise and no authentication bypass.

The following are not affected:

  • connections to servers which send a HelloRetryRequest for their preferred group,
  • clients with resumption disabled (as nothing is stored), and
  • other server names.

This behaviour is discussed in draft-ietf-tls-key-share-prediction, so the practical impact depends largely on server policy.

Record
RUSTSEC-2026-0349
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-08
OSVUBUNTU-CVE-2026-1236116.3

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.

Record
UBUNTU-CVE-2026-123611
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS 3.1
3.7 LowCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-10
OSVAZL-113170No score

CVE-2026-123611 affecting package kata-containers 4.1.0.kata2-1

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.

Record
AZL-113170
Updated
2026-11-13
OSVAZL-113179No score

CVE-2026-123611 affecting package kata-containers-cc 3.15.0.aks0-24

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.

Record
AZL-113179
Updated
2026-11-13
OSVAZL-113245No score

CVE-2026-123611 affecting package python-tensorboard 2.16.2-6

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.

Record
AZL-113245
Updated
2026-11-11
OSVAZL-113269No score

CVE-2026-123611 affecting package rust 1.75.0-31

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.

Record
AZL-113269
Updated
2026-11-11
OSVAZL-113281No score

CVE-2026-123611 affecting package rust 1.98.1-1

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.

Record
AZL-113281
Updated
2026-11-11
OSVAZL-113299No score

CVE-2026-123611 affecting package rust-afterburn 5.8.2-2

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.

Record
AZL-113299
Updated
2026-11-11

Affected products

Affected packages

Affected packages
PackageAffectedFixed
rustls
crates.io
before 0.23.46
0.23.46
rustls
crates.io
0.24.0-dev.1 up to 0.24.0-dev.2
0.24.0-dev.2
kata-containers
Azure Linux:3
through 4.1.0.kata2-1None known
kata-containers-cc
Azure Linux:3
through 3.15.0.aks0-24None known
python-tensorboard
Azure Linux:3
through 2.16.2-6None known
rust
Azure Linux:3
through 1.75.0-31None known
rust
Azure Linux:3
1.85.0 to 1.98.1-1None known
rust-afterburn
Azure Linux:3
through 5.8.2-2None known
rust-rustls
Debian:12
All versions, plus listed versions
0.20.8-40.20.8-4.10.20.8-4.20.21.10-10.21.12-1
Show 45 moreShow less
0.21.12-20.21.12-30.21.12-40.21.12-50.21.12-60.21.12-70.21.12-80.21.12-90.21.5-10.21.5-20.21.5-30.21.5-40.21.5-50.21.6-10.21.6-20.21.6-30.21.6-40.21.7-10.21.8-10.21.8-20.21.8-30.21.8-3.10.21.9-10.23.16-10.23.20+ds-10.23.20+ds-100.23.20+ds-20.23.20+ds-30.23.20+ds-40.23.20+ds-50.23.20+ds-60.23.20+ds-70.23.20+ds-80.23.20+ds-90.23.25+ds-10.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-40.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-2
None known
rust-rustls
Debian:13
All versions, plus listed versions
0.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-4
Show 20 moreShow less
0.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-20.23.33+ds-10.23.33+ds-20.23.33+ds-30.23.33+ds-40.23.35+ds-10.23.36+ds-10.23.37+ds-10.23.37+ds-20.23.37+ds-30.23.38+ds-10.23.40+ds-10.23.41+ds-10.23.43+ds-10.23.45+ds-10.23.46+ds-1
None known
Show 5 moreShow less
Affected packages
PackageAffectedFixed
rust-rustls
Debian:14
All versions, plus listed versions
0.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-4
Show 20 moreShow less
0.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-20.23.33+ds-10.23.33+ds-20.23.33+ds-30.23.33+ds-40.23.35+ds-10.23.36+ds-10.23.37+ds-10.23.37+ds-20.23.37+ds-30.23.38+ds-10.23.40+ds-10.23.41+ds-10.23.43+ds-10.23.45+ds-10.23.46+ds-1
None known
rustls
crates.io
0.0.0-0 up to 0.23.46
0.23.46
rust-rustls
Ubuntu:24.04:LTS
All versions, plus listed versions
0.21.6-30.21.7-10.21.9-10.21.10-1
None known
rust-rustls
Ubuntu:26.10
All versions, plus listed versions
0.23.36+ds-10.23.41+ds-1
None known
rust-rustls
Ubuntu:26.04:LTS
All versions, plus listed versions
0.23.26+ds-10.23.33+ds-3build20.23.35+ds-10.23.35+ds-1build10.23.36+ds-1
None known

History

History
RecordedChangedSources
affectedNVD, OSV
affected, aliases, referencesOSV
affected, aliases, referencesOSV
affected, aliases, facts, published, referencesOSV
affected, aliases, referencesNVD, OSV
publishedEUVD
publishedEUVD
aliases, referencesGitHub Advisories
aliases, products, publishedEUVD
first indexedCVE List
first indexedGitHub Advisories, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-123611 is a medium vulnerability (CVSS 6.3) in Rustls, published October 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.19%, the 8th percentile. Fixed in rustls 0.23.46.

References

Show 10 moreShow less
This page doesn't list everything

Left out here: 15 versions. The JSON record has them.

MoveEnter Open