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
Proof of Concept for CVE-2025-24813, a Remote Code Execution vulnerability in Apache Tomcat. This PoC exploits unsafe deserialization via crafted session files uploaded through HTTP PUT requests, allowing attackers to execute arbitrary code remotely on vulnerable Tomcat servers.
Readme
# CVE-2025-24813 Apache Tomcat RCE PoC

## Description

This is a Proof of Concept (PoC) for CVE-2025-24813, a Remote Code Execution (RCE) vulnerability in Apache Tomcat. The vulnerability arises from unsafe deserialization of crafted session files uploaded via HTTP PUT requests, allowing attackers to execute arbitrary code remotely on vulnerable Tomcat servers.

## Vulnerability Details

- **CVE ID:** CVE-2025-24813  
- **Affected Software:** Apache Tomcat (versions 9.0.0.M1 to 9.0.98, 10.1.0-M1 to 10.1.34, 11.0.0-M1 to 11.0.2)  
- **Type:** Remote Code Execution (RCE)  
- **Attack Vector:** HTTP PUT with crafted session payload + HTTP GET to trigger deserialization  
- **Impact:** Remote attacker can execute arbitrary Java code on the server  

## Prerequisites

- Target must be running a vulnerable version of Apache Tomcat  
- HTTP PUT requests must be allowed to upload files to a writable directory  
- Ability to trigger deserialization by accessing the uploaded session file  
- Java environment for generating payloads (e.g., using ysoserial)  

## Usage

1. Generate payload (optional, if not included):  
java -jar ysoserial.jar CommonsCollections1 "your_command" > payload.ser

2. Run the PoC script:  
python3 CVE-2025-24813.py <target_url> [options] 

3. The script will upload the malicious session file and trigger remote code execution.

## Disclaimer

This PoC is for educational and authorized testing purposes only. Do NOT use it on systems without explicit permission. The author is not responsible for any misuse or damage caused by this tool.

## References

- [Apache Tomcat Security Advisory](https://tomcat.apache.org/security.html)  
- [CVE-2025-24813 Details](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-24813) 
File Snapshot

[4.0K] /data/pocs/b107fabfd8ebac2c07e42a37e2c8ee019ed200b5 ├── [7.2K] CVE-2025-24813.py └── [1.7K] 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 →