
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 FileStore configuré dans le META-INF/context.xml de l'application weborg.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