Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.
Sources: National Vulnerability Database, CISA KEV, Exploit-DB
CVE-2026-93446 Overview
CVE-2026-93446 is an incomplete cleanup vulnerability [CWE-459] in Apache Tomcat that causes TLS 1.3 connections to fail intermittently. The flaw stems from residual state left behind in the TLS 1.3 code path after connection handling, which disrupts subsequent handshake attempts. The issue affects Apache Tomcat versions 11.0.0-M21 through 11.0.26, 10.1.25 through 10.1.60, and 9.0.90 through 9.0.122. Apache has published fixed releases in 11.0.27, 10.1.61, and 9.0.123. Administrators running affected versions should upgrade to restore reliable TLS 1.3 operation.
Critical Impact
Intermittent TLS 1.3 handshake failures can produce availability degradation for HTTPS endpoints, breaking client sessions and dependent service integrations on affected Tomcat deployments.
Affected Products
- Apache Tomcat 11.0.0-M21 through 11.0.26
- Apache Tomcat 10.1.25 through 10.1.60
- Apache Tomcat 9.0.90 through 9.0.122
Discovery Timeline
- 2026-10-20 - CVE-2026-93446 published to the National Vulnerability Database (NVD)
- 2026-10-20 - Last updated in NVD database
Technical Details for CVE-2026-93446
Vulnerability Analysis
The defect sits in Apache Tomcat's TLS 1.3 connection lifecycle. After certain connection events, Tomcat fails to fully release or reset internal state tied to the TLS 1.3 session. The residual state then interferes with subsequent handshakes handled by the same worker, producing intermittent connection failures. Clients observe failed negotiations, broken pipelines, or dropped sessions without a clear deterministic trigger. Because the failure is intermittent and timing-dependent, it can be mistaken for network instability or client misbehavior rather than a server-side defect. The impact concentrates on service availability rather than confidentiality or integrity.
Root Cause
The underlying weakness is classified as Incomplete Cleanup [CWE-459]. Tomcat's TLS 1.3 path does not fully clear or reinitialize connection-related resources after use. Over time, this leftover state corrupts handshake processing. The patched releases restore proper cleanup semantics so each TLS 1.3 negotiation begins from a known-good state.
Attack Vector
The vulnerability does not require authentication and is reachable by any client that negotiates TLS 1.3 with the Tomcat connector. There is no public evidence of active exploitation, and CISA has not added CVE-2026-93446 to the Known Exploited Vulnerabilities (KEV) catalog. The EPSS probability is 0.26% at the 16.7th percentile. The practical risk is service disruption of HTTPS listeners rather than code execution or data exposure.
No verified proof-of-concept code is published. See the Apache Thread Discussion and the OpenWall OSS Security Email for upstream details.
Detection Methods for CVE-2026-93446
Indicators of Compromise
- Intermittent TLS handshake failures in Tomcat catalina.out or connector logs, especially entries referencing TLSv1.3 or SSLHandshakeException.
- Rising client-side errors such as ERR_SSL_PROTOCOL_ERROR, connection reset, or truncated handshakes against affected Tomcat endpoints.
- Monitoring dashboards showing non-deterministic spikes in HTTPS 5xx or TCP reset counts without correlated network events.
Detection Strategies
- Inventory running Tomcat instances and compare versions against the affected ranges 11.0.0-M21–11.0.26, 10.1.25–10.1.60, and 9.0.90–9.0.122.
- Enable JSSE or OpenSSL connector debug logging temporarily to confirm the failure correlates with TLS 1.3 negotiations rather than TLS 1.2.
- Correlate failed handshakes with specific JVM workers or connector threads to confirm the server-side origin of the fault.
Monitoring Recommendations
- Track TLS handshake success and failure rates per connector as a first-class service-level indicator.
- Alert on sustained increases in TLS 1.3 handshake errors following deployment or restart events.
- Capture periodic thread and heap snapshots on affected hosts to detect retained TLS session state after upgrades.
How to Mitigate CVE-2026-93446
Immediate Actions Required
- Upgrade affected Tomcat instances to version 11.0.27, 10.1.61, or 9.0.123 as applicable.
- Restart Tomcat after upgrading so any accumulated TLS 1.3 state is discarded.
- Validate the fix in a staging environment by generating sustained TLS 1.3 load and confirming handshakes remain stable.
Patch Information
Apache has released fixed versions 11.0.27, 10.1.61, and 9.0.123 that resolve the incomplete cleanup in the TLS 1.3 path. Refer to the Apache Thread Discussion and the OpenWall OSS Security Email for upstream notes and advisory text.
Workarounds
- Terminate TLS at an upstream reverse proxy or load balancer such as nginx, HAProxy, or an ADC, and forward plain HTTP to Tomcat until the upgrade is deployed.
- Temporarily restrict connectors to TLS 1.2 by adjusting the sslEnabledProtocols attribute on the affected Connector as a short-term availability mitigation. Revert once patched versions are in place.
- Schedule periodic Tomcat restarts to clear accumulated TLS 1.3 state and reduce the window of intermittent failures.
# Configuration example - restrict connector to TLS 1.2 as a temporary workaround
# server.xml <Connector> attribute
sslEnabledProtocols="TLSv1.2"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.
Sources: National Vulnerability Database, CISA KEV, Exploit-DB

