Rustls accepts handshake messages at the wrong encryption level
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
Rustls from 0.23.13 before 0.23.45 is affected. It accepts TLS 1.3 handshake messages at the wrong encryption level when they follow a key-changing message in the same record, because record-boundary alignment is not enforced (CWE-20). A peer or on-path attacker can place a plaintext EncryptedExtensions message alongside ServerHello, and rustls accepts it unencrypted.
Written with Claude Haiku 5.5 from the sources below · 2026-11-08
Description from the CNA
Rustls from 0.23.13 before 0.23.45 accepts TLS 1.3 handshake messages at the wrong encryption level when they follow a key-changing message in the same record, because Deframer::aligned does not enforce RFC 8446 record-boundary alignment. A peer or on-path attacker can pack a plaintext EncryptedExtensions with the ServerHello, which rustls accepts unencrypted.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade rustls to 0.23.45, the fixed version.
Written with Claude Haiku 5.5 from the sources below · 2026-11-08
- Fix · CNA rustls (rustls) Fixed in 0.23.45
Timeline
- 2026-11-08 Threatist record created from CVE-2026-123613
- 2026-11-08 Alias added: GHSA-rp7q-jxfg-4g6g
References
Patch 1
More rustls vulnerabilities
- TI-2026-63063 rustls-webpki before 0.103.13 Panic via empty BIT STRING CVSS 4.0HIGH 8.7
- TI-2026-86753 Key exchange downgrade in rustls via unauthenticated ServerHello CVSS 4.0MEDIUM 6.3
- TI-2026-86752 Uncontrolled memory allocation in rustls Brotli certificate decompression CVSS 4.0MEDIUM 6.3
- TI-2024-21532 Rustls vulnerable to an infinite loop in rustls::conn::ConnectionCommon::complete_io() with proper client input CVSS 3.1HIGH 7.5
- TI-2026-86754 Application data sent to public_name server when rustls rejects ECH CVSS 4.0MEDIUM 4.6
- TI-2026-86751 Secret key material exposed through Debug formatting in Rustls CVSS 4.0MEDIUM 4.1
Sources
- CVE-2026-123613 · CVE Program
- CVE-2026-123613 · NVD
- GHSA-rp7q-jxfg-4g6g · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences