CVE-2026-34582 Overview
CVE-2026-34582 is an authentication bypass vulnerability in the Botan C++ cryptography library. Prior to version 3.11.1, the TLS 1.3 implementation allowed ApplicationData records to be processed before the Finished message was received. This flaw enables a malicious client to bypass server-enforced certificate authentication by omitting the Certificate, CertificateVerify, and Finished messages entirely, instead sending application data records directly.
Critical Impact
Attackers can bypass client certificate authentication in TLS 1.3 connections, potentially gaining unauthorized access to systems that rely on mutual TLS (mTLS) for security.
Affected Products
- Botan C++ cryptography library versions prior to 3.11.1
- Applications using Botan's TLS 1.3 implementation with client certificate authentication
- Systems relying on mTLS for access control
Discovery Timeline
- 2026-04-07 - CVE-2026-34582 published to NVD
- 2026-04-08 - Last updated in NVD database
Technical Details for CVE-2026-34582
Vulnerability Analysis
This vulnerability (CWE-841: Improper Enforcement of Behavioral Workflow) affects the TLS 1.3 handshake state machine in Botan. The core issue is a failure to enforce the proper message sequence during the TLS handshake process. In a correctly implemented TLS 1.3 handshake with client authentication, the server expects a specific sequence of messages from the client: Certificate, CertificateVerify, and Finished. Only after these messages are validated should the server accept ApplicationData records.
The vulnerable implementation fails to verify that the complete handshake sequence has been properly executed before processing application data. This allows an attacker to skip critical authentication steps entirely.
Root Cause
The root cause is improper state machine enforcement in the TLS 1.3 implementation. The library does not properly validate that all required handshake messages have been received and verified before transitioning to the state where ApplicationData records are accepted. Specifically, the state machine allows the premature processing of ApplicationData records without checking whether the client has completed the Certificate, CertificateVerify, and Finished message exchange.
Attack Vector
The attack is network-based and requires no privileges or user interaction. An attacker establishes a TLS 1.3 connection to a vulnerable server configured to require client certificate authentication. During the handshake, instead of providing the expected Certificate, CertificateVerify, and Finished messages, the attacker sends ApplicationData records directly. The vulnerable server processes these records as if authentication had completed successfully, effectively bypassing the certificate verification requirement.
This attack allows unauthorized clients to access resources protected by client certificate authentication without possessing valid certificates.
Detection Methods for CVE-2026-34582
Indicators of Compromise
- TLS connections where ApplicationData is received before handshake completion
- Unusual TLS session patterns with missing Certificate or CertificateVerify messages
- Authentication events for clients without valid certificate verification logs
- Network traffic analysis showing truncated TLS 1.3 handshakes followed by data transfer
Detection Strategies
- Monitor TLS handshake logs for incomplete client authentication sequences
- Implement network-level inspection to detect anomalous TLS 1.3 message ordering
- Review application access logs for unauthorized access patterns where certificate authentication should have prevented entry
- Deploy intrusion detection rules to flag TLS sessions with missing handshake messages
Monitoring Recommendations
- Enable detailed TLS handshake logging in applications using Botan
- Audit systems that rely on client certificate authentication for signs of unauthorized access
- Implement anomaly detection for TLS connection state transitions
- Review authentication logs for access events without corresponding certificate validation entries
How to Mitigate CVE-2026-34582
Immediate Actions Required
- Upgrade Botan to version 3.11.1 or later immediately
- Audit systems using Botan's TLS 1.3 implementation with client authentication enabled
- Review access logs for potential exploitation prior to patching
- Consider temporarily disabling client certificate authentication until the patch is applied if risk is unacceptable
Patch Information
The vulnerability is fixed in Botan version 3.11.1. Organizations should upgrade to this version or later. For detailed patch information, refer to the GitHub Security Advisory.
Workarounds
- Implement additional authentication layers beyond TLS client certificates
- Deploy network segmentation to limit exposure of vulnerable services
- Use a TLS-terminating reverse proxy with a non-vulnerable TLS implementation in front of affected applications
- Monitor and alert on connection attempts that exhibit anomalous handshake patterns
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

