Skip to content

TLS 1.3 out of sequence ApplicationData

Critical
randombit published GHSA-pxcj-9ppx-g86g Apr 7, 2026

Package

botan

Affected versions

3.0.0

Patched versions

3.11.1

Description

Issue

The TLS 1.3 implementation allowed ApplicationData records to be processed prior to the Finished message being received.

Impact

A server which is attempting to enforce client authentication via certificates can by bypassed by a client which entirely omits Certificate, CertificateVerify, and the Finished message and instead sends application data records.

Workarounds

Several workarounds for this issue are possible including:

  • Disable TLS 1.3 and use TLS 1.2, which correctly enforces the ordering of application vs handshake messages.
  • If peer certificate authentication is expected, check the return value of Channel::peer_cert_chain
  • Override TLS::Callbacks::tls_inspect_handshake_msg in your application and verify that a Finished message is received.

Credit

Reported by Ben Smyth

Severity

Critical

CVE ID

CVE-2026-34582

Weaknesses

Improper Enforcement of Behavioral Workflow

The product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence. Learn more on MITRE.