
# Rileva e sfrutta il directory traversal CVE-2025-55752 di Apache Tomcat tramite Rewrite Valve, consentendo il caricamento di JSP basato su PUT e l'esecuzione remota di codice.
🚨🚨 CVE-2025-55752 — Apache Tomcat: Bypass della protezione delle directory tramite Rewrite Valve → RCE basata su PUT🚨🚨 Riepilogo
CVE-2025-55752 è una regressione di sicurezza in Apache Tomcat introdotta durante la correzione del bug #60013. Quando viene utilizzato il Rewrite Valve, Tomcat applica la normalizzazione del percorso prima della decodifica dell'URL. Questo ordine errato consente a URI appositamente costruiti di bypassare i controlli di accesso implementati in StandardContextValve.java per percorsi protetti come /WEB-INF/ e /META-INF/. Se il server accetta richieste HTTP PUT (o espone qualsiasi endpoint di upload di file scrivibile), un attaccante può caricare artefatti malevoli (ad esempio .jsp o sessioni serializzate) e ottenere l'esecuzione remota di codice (RCE).
🚨 Versioni interessate
Anche le versioni più vecchie di Tomcat a fine vita (EOL) che includevano la modifica di rewrite/normalizzazione potrebbero essere interessate. Verificare rispetto alla propria distribuzione/build del vendor.
🚨 Impatto
PUT (o altri endpoint scrivibili) o quando le webapp consentono upload di file senza una validazione sufficiente.🚨🚨 Dettagli tecnici (concise)
StandardContextValve per /WEB-INF/ e /META-INF/.PUT o dispone di un endpoint di upload di file che colloca i file sotto la document root della webapp, l'attaccante può scrivere .jsp o altro contenuto eseguibile in una posizione che il server serve/esegue, con conseguente RCE.Rimedi e strategie di difesa
Immediato (consigliato)
Aggiornare Tomcat a una release supportata e corretta il prima possibile:
Se l'aggiornamento immediato non è fattibile (mitigazioni temporanee)
Disabilitare HTTP PUT a livello di server, connettore o reverse-proxy (ad esempio tramite configurazione del web server o regole firewall).
Rafforzare / rimuovere le regole Rewrite che consentono riscritture arbitrarie verso posizioni scrivibili; in particolare rimuovere le regole che riscrivono o inoltrano parametri di query in percorsi di file.
Rafforzare la gestione degli upload di file nelle applicazioni web:
/WEB-INF/, /META-INF/, o qualsiasi classpath dell'applicazione.Filtrare/bloccare URI di sfruttamento al perimetro (WAF / reverse proxy) bloccando payload codificati sospetti e pattern che tentano di bypassare le protezioni di /WEB-INF o /META-INF.
Principio del minimo privilegio per gli archivi di file: assicurarsi che il processo della webapp non possa scrivere in directory servite o eseguite dal container.
Panoramica delle funzioni
Questo strumento esegue un rilevamento in due fasi basato sulla descrizione ufficiale di CVE-2025-55752:
Tenta di sfruttare l'ordine errato della normalizzazione dell'URL prima della decodifica nel Rewrite Valve di Apache Tomcat, consentendo il path traversal verso posizioni protette come /WEB-INF o /META-INF.
Tenta di caricare un file JSP di test tramite HTTP PUT, quindi verifica se i meccanismi di protezione possono essere bypassati per accedere al file caricato.
Verifica se il path traversal verso directory protette è possibile:
python3 cve_2025_55752_detector.py http://target:8080 --check
Tenta di caricare un file JSP e testare il bypass dell'accesso:
python3 cve_2025_55752_detector.py http://target:8080
🔧 Personalizza il nome del file e il contenuto del payload:
python3 cve_2025_55752_detector.py http://target:8080 --filename exploit.jsp --payload "<% out.println('PWNED'); %>"