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.
The vulnerability results from improper handling of paths containing an internal dot in the filename ('file.Name'), causing incorrect request mapping by the server (CWE-706, CWE-44). When write support for Default Servlet and partial PUT support are enabled, an attacker can upload a maliciously crafted file to the temporary location used by the partial PUT mechanism. If the application uses Tomcat's file-based session persistence with the default storage location and contains a library vulnerable to deserialization, the server may read and deserialize the malicious file as a session object, leading to RCE (CWE-502). Alternatively, in a non-RCE scenario, the error enables reading or overwriting sensitive files uploaded by other users via partial PUT.
An attacker can gain full control over the server through remote code execution (RCE), and in a less privileged scenario — read sensitive files or inject malicious content into them, threatening the confidentiality, integrity, and availability of the system.
Apache Tomcat should be immediately updated to version 11.0.3, 10.1.35, or 9.0.99, which eliminate the vulnerability. If immediate update is not possible, as a temporary workaround, disable support for partial PUT or disable write permissions for Default Servlet (parameter 'readonly=true'). Versions from the 8.5.x branch are EOL and will not receive a patch — migration to a supported version is recommended.
Apache Tomcat in versions: 11.0.0-M1 to 11.0.2, 10.1.0-M1 to 10.1.34, 9.0.0.M1 to 9.0.98. Versions 8.5.0 to 8.5.100 are under EOL status and are also vulnerable. Older EOL versions may also be vulnerable. The vulnerability is practically exploitable when write permissions for Default Servlet are enabled (disabled by default) and partial PUT support is enabled (enabled by default).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HApache Tomcat
APPApache10.1.011.0.011.0.1 – 11.0.3 (bez)< 9.0.9910.1.1 – 10.1.35 (bez)Debian
OSDebian11.0Netapp Bootstrap Os
OSNetappwszystkie wersjeNetapp Hci Compute Node
HWNetappwszystkie wersje
CISA KEV — detailsi
- Vendori
- Apache ↗
- Producti
- Tomcat
- Added to KEVi
- April 1, 2025
- Remediation deadline (US Federal)i
- April 22, 2025(overdue)
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Apache Tomcat contains a path equivalence vulnerability that allows a remote attacker to execute code, disclose information, or inject malicious content via a partial PUT request.
Related vulnerabilities
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki