CVE-2025-24813
CRITICALCVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5Description
Path Equivalence: 'file.Name' (Internal Dot) leading to Remote Code Execution and/or Information disclosure and/or malicious content added to uploaded files via write enabled Default Servlet in Apache Tomcat. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.2, from 10.1.0-M1 through 10.1.34, from 9.0.0.M1 through 9.0.98. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.0 though 8.5.100. Other, older, EOL versions may also be affected. If all of the following were true, a malicious user was able to view security sensitive files and/or inject content into those files: - writes enabled for the default servlet (disabled by default) - support for partial PUT (enabled by default) - a target URL for security sensitive uploads that was a sub-directory of a target URL for public uploads - attacker knowledge of the names of security sensitive files being uploaded - the security sensitive files also being uploaded via partial PUT If all of the following were true, a malicious user was able to perform remote code execution: - writes enabled for the default servlet (disabled by default) - support for partial PUT (enabled by default) - application was using Tomcat's file based session persistence with the default storage location - application included a library that may be leveraged in a deserialization attack Users are recommended to upgrade to version 11.0.3, 10.1.35 or 9.0.99, which fixes the issue.
Analysis
A critical path equivalence vulnerability in Apache Tomcat's Default Servlet allows unauthenticated remote code execution through specially crafted PUT requests using internal dot notation in filenames. With EPSS of 94% and active exploitation in the wild, this represents one of the most dangerous Tomcat vulnerabilities in recent years, affecting versions 9.0.0-9.0.98, 10.1.0-10.1.34, and 11.0.0-11.0.2.
Technical Context
The vulnerability exploits how Tomcat's DefaultServlet handles partial PUT requests combined with path equivalence. When the Default Servlet is configured with write permissions (readonly=false), attackers can craft PUT requests with dot-manipulated filenames that bypass Tomcat's file type restrictions while still being served as executable content. The attack chain: PUT a serialized session file, then trigger deserialization via GET.
Affected Products
['Apache Tomcat 11.0.0-M1 through 11.0.2', 'Apache Tomcat 10.1.0-M1 through 10.1.34', 'Apache Tomcat 9.0.0.M1 through 9.0.98']
Remediation
Upgrade immediately: Tomcat 11.0.3+, 10.1.35+, or 9.0.99+. If patching is delayed, disable write access on Default Servlet (set readonly=true in web.xml). Monitor for suspicious PUT requests to application paths. Review server logs for indicators of exploitation.
Priority Score
Vendor Status
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-83qj-6fr2-vhqg