Read the docs

Rustls accepts handshake messages at the wrong encryption level

Priority MEDIUM 46CWE-20Published · Updated

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

Fix Fixed rustls (rustls): 0.23.45

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
rustlsrustls0.23.13 to before 0.23.450.23.45Patch availableCNA
  • rustls Vendorrustls Affected 0.23.13 to before 0.23.45 Fixed in 0.23.45 Patch available CNA

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

  1. 2026-11-08 Threatist record created from CVE-2026-123613
  2. 2026-11-08 Alias added: GHSA-rp7q-jxfg-4g6g

References

  • 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
See all 9 →

Sources