
Preuve de concept pour les CVE Tomcat provoquant l'épuisement du CPU via des requêtes multipart parallèles, avec configuration Docker et conseils de remédiation.
Ce projet exécute un simple point de terminaison de téléchargement de fichiers avec Tomcat 10.1.41 et un Jakarta Servlet.
L'exploit exécute, par défaut, 1000 requêtes multipart parallélisées avec 1000 parties et 50 en-têtes par partie, à partir de 50 workers.
Construire et exécuter le conteneur Docker :
docker build -t poc-cve-2025-48988 .
docker run -p 8080:8080 poc-cve-2025-48988
Lancer l'exploit :
python3 exploit-cve-2025-48988.py
Surveiller l'utilisation des ressources du conteneur :
docker stats
Vous observerez une augmentation significative de l'utilisation du processeur :

Modifier l'image Docker dans le Dockerfile de tomcat:10.1.41-jdk17 vers tomcat:10.1.42-jdk17
Avec sa configuration par défaut, Tomcat répondra désormais avec un code d'état 500 et l'utilisation du processeur restera stable, comme indiqué dans le correctif introduit dans Tomcat 10.1.42.