Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-24813 PoC — Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT

Source
Associated Vulnerability
Title:Apache Tomcat: Potential RCE and/or information disclosure and/or information corruption with partial PUT (CVE-2025-24813)
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.
Description
 Create lab for CVE-2025-24813
Readme
# Apache Tomcat Unauthenticated RCE - CVE-2025-24813
This repository provides a guide and testing environment to assess the **CVE-2025-24813** vulnerability.

## Details 
**Affected Versions:**
- Apache Tomcat 11.0.0-M1 to 11.0.2
- Apache Tomcat 10.1.0-M1 to 10.1.34
- Apache Tomcat 9.0.0.M1 to 9.0.98

## References

- [CVE-2025-24813 Advisory](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-24813)
- [Apache Announcement](https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq)

## Steps to Test the Vulnerability
1. Run the following command to build and start the vulnerable Apache Tomcat container
```
docker build -t v-tomcat .
docker run -d -p 1234:8080 --name tomcat-lab v-tomcat

If the ROOT folder is not created;
docker exec -it tomcat-lab mkdir -p /usr/local/tomcat/webapps/ROOT
```
2. Upload a file with curl
```
curl -X PUT -H "Content-Type: application/octet-stream" --data-binary "vuln3r4bl3" http://localhost:1234/vln
```
3. Verify the upload: If the response contains "vuln3r4bl3", it indicates that the upload was successful.
```
curl -X GET http://localhost:1234/vln
```

⚠️ Disclaimer

This lab is intended for educational and security research purposes only. Do not deploy this configuration on production systems.
File Snapshot

[4.0K] /data/pocs/ffad3f36811863b08fe7b447d93f870f5cbec362 ├── [ 563] dockerfile └── [1.2K] README.md 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →