Insecure TLS defaults in Apache Tomcat Native enable man-in-the-middle decryption
AI analysis
Apache Tomcat Native (tcnative), the optional library that lets Tomcat handle TLS via OpenSSL through the APR/native connector, initialized its SSL context with insecure defaults, enabling ALLOW_CLIENT_RENEGOTIATION, NO_EXTENDED_MASTER_SECRET, IGNORE_UNEXPECTED_EOF, and ALLOW_NO_DHE_KEX. A network attacker in a man-in-the-middle position can leverage these weakened settings — for example renegotiation and triple-handshake-style attacks, loss of forward secrecy, and ignored truncation — to decrypt or tamper with TLS traffic between clients and an affected server. Impact is rated critical (CVSS 9.1) with high confidentiality and integrity impact but no availability impact. Deployments affected are those running Tomcat with Tomcat Native 2.0.0–2.0.15 or 1.3.0–1.3.8 (earlier unsupported versions may also be affected); Tomcat instances using the default Java JSSE/NIO connectors are not exposed to this library's defaults. There is no known public exploit and the issue is not on the CISA KEV, but it is a config-level flaw that silently weakens TLS for every affected deployment.
What to do: Upgrade Tomcat Native to 2.0.16 (2.x branch) or 1.3.9 (1.3 branch) as soon as possible. First determine whether you are affected: only Tomcat instances using the APR/native connector (tcnative/OpenSSL), not the default Java NIO/JSSE connectors, rely on these library defaults. If patching must wait, explicitly configure the connector to disable client renegotiation, enable extended master secret (RFC 7627), require ephemeral Diffie-Hellman key exchange, and stop ignoring unexpected EOF, then verify with a TLS assessment (e.g., renegotiation and truncation tests).
Affected
| Apache Tomcat Native | 2.0.0 through 2.0.15 (earlier unsupported versions may also be affected) |
| Apache Tomcat Native | 1.3.0 through 1.3.8 (earlier unsupported versions may also be affected) |
Description
Initialization of a resource with an insecure default vulnerability in Apache Tomcat Native enabled insecure options by default including ALLOW_CLIENT_RENEGOTIATION, NO_EXTENDED_MASTER_SECRET, IGNORE_UNEXPECTED_EOF and ALLOW_NO_DHE_KEX. This issue affects Apache Tomcat Native: from 2.0.0 through 2.0.15, from 1.3.0 through 1.3.8. Earlier unsupported versions may also be affected. Users are recommended to upgrade to version 2.0.16 or 1.3.9, which fix the issue.