-
CVSS Score
-Basic Information
CVE ID
-
GHSA ID
-
EPSS Score
-
CWE
-
Published
-
Updated
-
KEV Status
-
Technology
-
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| org.apache.tomcat:tomcat-catalina | maven | >= 11.0.0-M1, < 11.0.3 | 11.0.3 |
| org.apache.tomcat:tomcat-catalina | maven | >= 10.1.0-M1, < 10.1.35 | 10.1.35 |
| org.apache.tomcat:tomcat-catalina | maven | >= 9.0.0.M1, < 9.0.99 | 9.0.99 |
| org.apache.tomcat.embed:tomcat-embed-core | maven | >= 11.0.0-M1, < 11.0.3 | 11.0.3 |
| org.apache.tomcat.embed:tomcat-embed-core | maven | >= 10.1.0-M1, < 10.1.35 | 10.1.35 |
| org.apache.tomcat.embed:tomcat-embed-core | maven | >= 9.0.0.M1, < 9.0.99 | 9.0.99 |
The vulnerability stems from two key functions in DefaultServlet.java: 1) doPut() managed partial uploads but delayed temp file cleanup (via deleteOnExit()), and 2) executePartialPut() used path-based filenames with slash-to-dot conversion. Together, these allowed path traversal via 'internal dot' equivalence and file retention long enough for attackers to exploit session persistence or deserialization. The patch replaced manual filename construction with secure temp files and immediate deletion, confirming these functions' roles.
org.apache.catalina.servlets.DefaultServlet.doPutjava/org/apache/catalina/servlets/DefaultServlet.java
org.apache.catalina.servlets.DefaultServlet.executePartialPutjava/org/apache/catalina/servlets/DefaultServlet.java