Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
4Blast Radius
ecosystem impact- 2 maven packages depend on org.apache.tomcat.embed:tomcat-embed-core (2 direct, 0 indirect)
- 2 maven packages depend on org.apache.tomcat:tomcat-catalina (2 direct, 0 indirect)
Ecosystem-wide dependent count for version 10.1.0-M1 and other introduced versions.
DescriptionCVE.org
Observable Timing Discrepancy vulnerability when comparing AJP secret in Apache Tomcat.
This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.21, from 10.1.0-M1 through 10.1.54, from 9.0.0.M1 through 9.0.117, from 8.5.0 through 8.5.100, from 7.0.0 through 7.0.109. Older unsupported versions may also be affected.
Users are recommended to upgrade to version 11.0.22, 10.1.55 or 9.0.118 which fix the issue.
AnalysisAI
Timing side-channel in Apache Tomcat's AJP secret comparison exposes the shared AJP connector secret to remote, unauthenticated attackers capable of making precise network timing measurements. The vulnerability, tracked as CWE-208 (Observable Timing Discrepancy), affects all major Tomcat branches from 7.0.0 through current releases prior to the fixed versions, and could allow an attacker to recover the AJP shared secret through repeated probing. No public exploit code exists at time of analysis, EPSS is 0.02%, and CISA SSVC rates exploitation as none - making real-world risk low despite the network-accessible attack vector.
Technical ContextAI
Apache Tomcat's AJP (Apache JServ Protocol) connector uses a shared secret to authenticate connections from a front-end web server (typically Apache httpd with mod_jk or mod_proxy_ajp). The secret comparison in affected versions is not performed in constant time, meaning the comparison function returns faster when an early byte mismatch occurs versus a late-byte mismatch or a correct match. CWE-208 captures this root cause: observable timing differences leak information about the secret's content, enabling a timing oracle attack where an adversary can statistically infer the secret one character at a time. The affected CPE is cpe:2.3:a:apache_software_foundation:apache_tomcat:*:*:*:*:*:*:*:* across branches 7.0.x, 8.5.x, 9.0.x, 10.1.x, and 11.0.x. This class of bug is well understood and fixed by replacing standard string comparison with a constant-time comparison function.
RemediationAI
Upgrade to Apache Tomcat 11.0.22, 10.1.55, or 9.0.118, which are the vendor-confirmed fixed releases per the Apache security advisory at https://lists.apache.org/thread/2k654v5cq123npfsd1b2kk1y30owqb1m. Users on the end-of-life 8.5.x or 7.0.x branches should migrate to a supported branch and apply the patch, as no fixed release exists for those branches. As a compensating control, ensure the AJP connector is bound only to localhost (address='::1' or address='127.0.0.1' in server.xml) and is not reachable from untrusted network segments - this significantly raises the bar for timing-based attacks by requiring local or adjacent network access rather than remote Internet paths. Disabling the AJP connector entirely (by removing or commenting out the AJP Connector element in server.xml) is the strongest mitigation if AJP is not required; this eliminates the attack surface with no functional trade-off for deployments using only HTTP/HTTPS connectors. Restricting AJP connector access via host-based firewall rules to permit only the known front-end proxy IP is an additional layered control.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Rate
In SysAid On-Premise before 23.3.36, a path traversal vulnerability leads to code execution after an attacker writes a f
Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8
When running Apache Tomcat 7.0.0 to 7.0.79 on Windows with HTTP PUTs enabled (e.g. Rated high severity (CVSS 8.1), this
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products,
The payload length in a WebSocket frame was not correctly validated in Apache Tomcat 10.0.0-M1 to 10.0.0-M6, 9.0.0.M1 to
The documentation of Apache Tomcat 10.1.0-M1 to 10.1.0-M14, 10.0.0-M1 to 10.0.20, 9.0.13 to 9.0.62 and 8.5.38 to 8.5.78
When using a VirtualDirContext with Apache Tomcat 7.0.0 to 7.0.80 it was possible to bypass security constraints and/or
When using Apache Tomcat versions 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54 and 7.0.0 to 7.0.103 if a)
java/org/apache/coyote/http11/filters/ChunkedInputFilter.java in Apache Tomcat 6.x before 6.0.42, 7.x before 7.0.55, and
Same weakness CWE-208 – Observable Timing Discrepancy
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29518
GHSA-9m89-8frq-c98c