CVE-2026-73581 Overview
CVE-2026-73581 is an improper certificate revocation check vulnerability in Apache Tomcat. The flaw affects the OpenSSL and OpenSSL-FFM Transport Layer Security (TLS) implementations, which ignore Certificate Revocation Lists (CRLs) when a certificate uses a keystore. Attackers presenting a revoked but otherwise valid client certificate can complete TLS mutual authentication against affected Tomcat instances.
The issue is tracked under [CWE-299: Improper Check for Certificate Revocation]. The Apache Software Foundation released fixed versions on September 23, 2026.
Critical Impact
Revoked X.509 client certificates continue to be accepted for TLS authentication, undermining certificate lifecycle controls and enabling continued access by compromised or terminated identities.
Affected Products
- Apache Tomcat 11.0.0-M1 through 11.0.25
- Apache Tomcat 10.1.0-M1 through 10.1.58
- Apache Tomcat 9.0.0-M1 through 9.0.121 (and end-of-life 8.5.0 through 8.5.100)
Discovery Timeline
- 2026-09-23 - CVE-2026-73581 published to the National Vulnerability Database (NVD)
- 2026-09-23 - Apache releases fixed versions 11.0.26, 10.1.59, and 9.0.122
- 2026-09-23 - Last updated in NVD database
Technical Details for CVE-2026-73581
Vulnerability Analysis
Apache Tomcat supports multiple TLS implementations, including the Java Secure Socket Extension (JSSE), OpenSSL via the Apache Portable Runtime (APR), and OpenSSL-FFM using the Foreign Function and Memory API. Two of these implementations, OpenSSL and OpenSSL-FFM, do not enforce CRL validation when the server or connector is configured with a keystore.
As a result, X.509 certificates that appear on a configured CRL are still accepted during the TLS handshake. This weakens client certificate authentication for services that rely on mutual TLS. An attacker holding a revoked certificate, or one issued to a compromised or decommissioned identity, can authenticate as a trusted principal.
The exploitation prerequisites are limited to network reachability to the TLS endpoint and possession of a certificate that should have been rejected. No user interaction or elevated privileges are required.
Root Cause
The root cause is a missing revocation check in the OpenSSL and OpenSSL-FFM code paths when the trust material is provided through a Java keystore. The CRL configuration is ignored during certificate chain verification, so the runtime never consults the revocation source before accepting the peer certificate.
Attack Vector
The vulnerability is remotely exploitable across the network against any Tomcat connector configured for client certificate authentication using the OpenSSL or OpenSSL-FFM implementation with a keystore. An attacker connects to the affected endpoint and presents a revoked but structurally valid certificate. Tomcat completes the handshake and treats the caller as authenticated.
For technical background, see the Apache Mailing List Thread and the OpenWall OSS Security Update.
Detection Methods for CVE-2026-73581
Indicators of Compromise
- Successful TLS mutual authentication events using client certificates whose serial numbers appear on a current CRL.
- Application or access logs recording authenticated sessions from principals whose certificates were revoked prior to the session timestamp.
- Tomcat connectors configured with SSLImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation" or the OpenSSL-FFM variant combined with keystoreFile and a defined crlFile.
Detection Strategies
- Compare authenticated client certificate serial numbers in Tomcat access logs against your certificate authority's CRL and Online Certificate Status Protocol (OCSP) responses.
- Inventory all Tomcat instances and identify connectors using the OpenSSL or OpenSSL-FFM SSLImplementation together with a keystore-based trust store.
- Alert on newly established mutual TLS sessions from certificates recently added to revocation lists.
Monitoring Recommendations
- Forward Tomcat access and catalina logs to a centralized analytics platform and enrich sessions with certificate metadata such as issuer, serial number, and revocation status.
- Track configuration drift on server.xml connector definitions to detect changes in SSLImplementationName, keystoreFile, and crlFile attributes.
- Correlate authentication events with identity lifecycle actions so revoked or offboarded credentials that continue to authenticate are surfaced quickly.
How to Mitigate CVE-2026-73581
Immediate Actions Required
- Upgrade to Apache Tomcat 11.0.26, 10.1.59, or 9.0.122 on all affected connectors.
- Rotate and reissue any client certificates that may have been used during the exposure window, especially those already revoked.
- Audit access logs for authentication attempts using revoked certificates and treat any matches as suspected unauthorized access.
Patch Information
The Apache Software Foundation fixed the issue in Tomcat 11.0.26, 10.1.59, and 9.0.122. These releases restore CRL enforcement in the OpenSSL and OpenSSL-FFM TLS implementations when a keystore is configured. Versions in the 8.5.x branch are end-of-life and will not receive a patch; migrate to a supported branch.
Workarounds
- Switch affected connectors to the JSSE SSLImplementation, which is not affected by this defect, until the patched Tomcat release is deployed.
- Terminate TLS at an upstream reverse proxy or load balancer that enforces CRL or OCSP checks before forwarding requests to Tomcat.
- Restrict network access to mutual TLS endpoints to known client ranges to reduce the attack surface during remediation.
# Example: verify installed Tomcat version and connector TLS implementation
$CATALINA_HOME/bin/version.sh
grep -n "SSLImplementationName\|keystoreFile\|crlFile" $CATALINA_HOME/conf/server.xml
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

