
Détecte et exploite la traversée de répertoire CVE-2025-55752 d'Apache Tomcat via Rewrite Valve, permettant le téléversement de JSP basé sur PUT et l'exécution de code à distance.
🚨🚨 CVE-2025-55752 — Apache Tomcat : Contournement de la protection des répertoires via Rewrite Valve → RCE par PUT🚨🚨 Résumé
CVE-2025-55752 est une régression de sécurité dans Apache Tomcat introduite lors de la correction du bug #60013. Lorsque le Rewrite Valve est utilisé, Tomcat applique la normalisation des chemins avant le décodage des URL. Cet ordre incorrect permet à des URI forgées de contourner les contrôles d'accès implémentés dans StandardContextValve.java pour les chemins protégés tels que /WEB-INF/ et /META-INF/. Si le serveur accepte les requêtes HTTP PUT (ou expose tout point de terminaison d'upload de fichiers accessible en écriture), un attaquant peut téléverser des artefacts malveillants (par exemple des fichiers .jsp ou des sessions sérialisées) et parvenir à une exécution de code à distance (RCE).
🚨 Versions affectées
Les anciennes branches Tomcat en fin de vie (EOL) ayant inclus la modification de réécriture/normalisation peuvent également être affectées. Vérifiez auprès de votre distribution/version spécifique du fournisseur.
🚨 Impact
PUT (ou d'autres points de terminaison en écriture) est activé ou lorsque les applications web autorisent les téléversements de fichiers sans validation suffisante.🚨🚨 Détails techniques (concis)
StandardContextValve pour /WEB-INF/ et /META-INF/.PUT ou dispose d'un point de terminaison d'upload qui place les fichiers sous la racine du document webapp, l'attaquant peut écrire du contenu .jsp ou autre contenu exécutable dans un emplacement que le serveur sert/exécute, entraînant une RCE.Remédiation et stratégies de défense
Immédiat (recommandé)
Mettez à niveau Tomcat vers une version corrigée et prise en charge dès que possible :
Si la mise à niveau immédiate n'est pas possible (atténuations temporaires)
Désactivez HTTP PUT au niveau du serveur, du connecteur ou du proxy inverse (par exemple, via la configuration du serveur web ou les règles de pare-feu).
Durcissez / supprimez les règles Rewrite qui permettent une réécriture arbitraire vers des emplacements en écriture ; supprimez spécifiquement les règles qui réécrivent ou transfèrent les paramètres de requête dans les chemins de fichiers.
Durcissez la gestion des téléversements de fichiers dans les applications web :
/WEB-INF/, /META-INF/, ou tout classpath applicatif.Filtrez/Bloquez les URI d'exploitation en périphérie (WAF / proxy inverse) en bloquant les charges utiles encodées suspectes et les modèles qui tentent de contourner les protections /WEB-INF ou /META-INF.
Privilège minimal pour les stockages de fichiers : assurez-vous que le processus webapp ne peut pas écrire dans les répertoires servis ou exécutés par le conteneur.
Aperçu de la fonction
Cet outil effectue une détection en deux étapes basée sur la description officielle de CVE-2025-55752 :
Tente d'exploiter l'ordre incorrect de normalisation des URL avant décodage dans le Rewrite Valve d'Apache Tomcat, permettant un traversement de chemin vers des emplacements protégés comme /WEB-INF ou /META-INF.
Tente de téléverser un fichier JSP de test via HTTP PUT, puis vérifie si les mécanismes de protection peuvent être contournés pour accéder au fichier téléversé.
Vérifier si le traversement de chemin vers les répertoires protégés est possible :
python3 cve_2025_55752_detector.py http://target:8080 --check
Tenter de téléverser un fichier JSP et tester le contournement d'accès :
python3 cve_2025_55752_detector.py http://target:8080
🔧 Personnaliser le nom de fichier et le contenu de la charge utile :
python3 cve_2025_55752_detector.py http://target:8080 --filename exploit.jsp --payload "<% out.println('PWNED'); %>"