← back
CVE-2025-24813

Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT

CVSS 10 CRITICALEPSS 99.9%● KEVCWE-44CWE-502
In short

Apache Tomcat has a critical vulnerability in its file upload feature that can allow attackers to read sensitive files, modify uploaded content, or run malicious code on the server if certain features are enabled. This happens because the server doesn't properly validate file paths when handling partial uploads.

Technical detail

CVE-2025-24813 exploits path equivalence via dot-based naming in partial PUT requests to the default servlet. With writes enabled and partial PUT support active, attackers can traverse to sensitive file directories, read/modify files, or achieve RCE through deserialization when file-based session persistence is configured. The vulnerability affects Tomcat 9.0.0–9.0.98, 10.1.0–10.1.34, and 11.0.0–11.0.2.

Summary generated and translated by AI from the official description.
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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
public PoCs found55
githubgithub.com/absholi7ly/POC-CVE-2025-24813196githubgithub.com/iSee857/CVE-2025-24813-PoC97githubgithub.com/drcrypterdotru/Apache-GOExploiter20githubgithub.com/mbanyamer/Apache-Tomcat---Remote-Code-Execution-via-Session-Deserialization-CVE-2025-24813-18githubgithub.com/charis3306/CVE-2025-2481316githubgithub.com/qzy0x/cve-2025-24813_poc11githubgithub.com/Franconyu/Poc_for_CVE-2025-248138githubgithub.com/u238/Tomcat-CVE_2025_248137githubgithub.com/x00byte/PutScanner7githubgithub.com/Erosion2020/CVE-2025-24813-vulhub5githubgithub.com/msadeghkarimi/CVE-2025-24813-Exploit5githubgithub.com/Shivshantp/CVE-2025-248135githubgithub.com/Mattb709/CVE-2025-24813-Scanner4githubgithub.com/Alaatk/CVE-2025-24813-POC4githubgithub.com/cchopin/CVE-Arsenal-Lab4githubgithub.com/AsaL1n/CVE-2025-248134githubgithub.com/Mattb709/CVE-2025-24813-PoC-Apache-Tomcat-RCE3githubgithub.com/N0c1or/CVE-2025-24813_POC3githubgithub.com/imbas007/CVE-2025-24813-apache-tomcat3githubgithub.com/beyond-devsecops/CVE-2025-248133githubgithub.com/AlperenY-cs/CVE-2025-248133githubgithub.com/pirenga/CVE-2025-248132githubgithub.com/La3B0z/CVE-2025-24813-POC2githubgithub.com/manjula-aw/CVE-2025-248131githubgithub.com/fatkz/CVE-2025-248131githubgithub.com/gregk4sec/CVE-2025-248131githubgithub.com/tonyarris/CVE-2025-24813-PoC1githubgithub.com/MuhammadWaseem29/CVE-2025-248131githubgithub.com/GadaLuBau1337/CVE-2025-248131githubgithub.com/f8l124/CVE-2025-24813-POC1githubgithub.com/cyglegit/CVE-2025-248131githubgithub.com/ftz7/PoC-CVE-2025-248131githubgithub.com/seahcy/CVE-2025-248131githubgithub.com/EQSTLab/CVE-2025-248131githubgithub.com/ThHardvester/CVE-2025-248130githubgithub.com/hakankarabacak/CVE-2025-248130githubgithub.com/yaleman/cve-2025-24813-poc0githubgithub.com/GongWook/CVE-2025-248130githubgithub.com/sentilaso1/CVE-2025-24813-Apache-Tomcat-RCE-PoC0githubgithub.com/ps-interactive/lab-cve-2025-248130githubgithub.com/michael-david-fry/Apache-Tomcat-Vulnerability-POC-CVE-2025-248130githubgithub.com/suil12/CVE-2025-24813_presentation0githubgithub.com/JTMH37/Apache-Tomcat-CVE-2025-24813-Lab0githubgithub.com/B1gN0Se/Tomcat-CVE-2025-248130githubgithub.com/n0n-zer0/Spring-Boot-Tomcat-CVE-2025-248130githubgithub.com/CEAlbez/CVE-2025-24813-PoC0githubgithub.com/Makavellik/POC-CVE-2025-24813-Apache-Tomcat-Remote-Code-Execution0githubgithub.com/x1ongsec/CVE-2025-248130githubgithub.com/Arthurabriel/POC-CVE-2025-248130githubgithub.com/gunyakit/CVE-2025-24813-PoC-exploit0githubgithub.com/Dhananjayasj/CVE-2025-24813-Apache-Tomcat-Partial-PUT-Deserialization-RCE-0githubgithub.com/horsehacks/CVE-2025-24813-checker0githubgithub.com/Heimd411/CVE-2025-24813-noPoC0cve_referencegithub.com/absholi7ly/POC-CVE-2025-24813/blob/main/README.mdunverifiedexploitdbwww.exploit-db.com/exploits/52134unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →