Skip to main content
VulnerabilityPublished

rustls: ECH rejection can expose buffered application data to authenticated outer server before `ech_required` alert

Affects rustlsSource GCVE Database

0

CVSS 2.3 Low : upgrade to 0.23.46 when convenient.

Data as of 27 Oct 2026, 17:42 UTC

CVSS 3.1 base score
2.3Low
How severe the flaw is on the 0–10 CVSS scale.
Patch
Available – fixed in 0.23.46, 0.24.0-dev.2
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N

What to do

Upgrade rustls to 0.23.46; rustls to 0.24.0-dev.2.

Affected software

ProductAffectedFixed in
crates.iorustlsAffected
  • >=0.23.44 <0.23.46
Fixed in
  • 0.23.46
crates.iorustlsAffected
  • >=0.24.0-dev.1 <0.24.0-dev.2
Fixed in
  • 0.24.0-dev.2

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

A fix is available in rustls versions 0.23.46 and 0.24.0-dev.2. Users should upgrade to these or later versions to resolve the issue. The vulnerability affects only clients using EchMode::Enable that send application data before handshake completion and connect to servers rejecting ECH. No additional mitigation is required beyond applying the official patch.

Description

A vulnerability in rustls versions 0.23.44, 0.23.45, and certain 0.24.0-dev releases causes buffered application data to be sent to the server before the client sends the mandatory 'ech_required' alert when Encrypted Client Hello (ECH) is rejected. This violates RFC 9849 requirements that no application data be sent before the alert. The issue affects clients using EchMode::Enable that send application data before handshake completion and connect to servers rejecting their ECH config. The flaw was fixed in rustls 0.23.46 and 0.24.0-dev.2.

References

Community reviews

Loading reviews…