
Detecta y explota el directory traversal CVE-2025-55752 de Apache Tomcat a través de Rewrite Valve, permitiendo la subida de JSP basada en PUT y la ejecución remota de código.
🚨🚨 CVE-2025-55752 — Apache Tomcat: Bypass de protección de directorios mediante Rewrite Valve → RCE basado en PUT🚨🚨 Resumen
CVE-2025-55752 es una regresión de seguridad en Apache Tomcat introducida al corregir el error #60013. Cuando se utiliza el Rewrite Valve, Tomcat aplica la normalización de rutas antes de la decodificación de URL. Este orden incorrecto permite que URIs manipuladas eviten las comprobaciones de acceso implementadas en StandardContextValve.java para rutas protegidas como /WEB-INF/ y /META-INF/. Si el servidor acepta solicitudes HTTP PUT (o expone cualquier endpoint de subida de archivos con escritura), un atacante puede subir artefactos maliciosos (por ejemplo .jsp o sesiones serializadas) y lograr ejecución remota de código (RCE).
🚨 Versiones afectadas
Las ramas antiguas de Tomcat fuera de soporte (EOL) que incluyeron el cambio de rewrite/normalización también pueden verse afectadas. Verifique contra su distribución/compilación específica del proveedor.
🚨 Impacto
PUT (u otros endpoints con capacidad de escritura) está habilitado o cuando las aplicaciones web permiten subidas de archivos sin validación suficiente.🚨🚨 Detalles técnicos (concisos)
StandardContextValve para /WEB-INF/ y /META-INF/.PUT o tiene un endpoint de subida de archivos que coloca archivos bajo la raíz de documentos de la aplicación web, el atacante puede escribir .jsp u otro contenido ejecutable en una ubicación que el servidor sirve/ejecuta, resultando en RCE.Remediación y estrategias de defensa
Inmediato (recomendado)
Actualice Tomcat a una versión corregida y soportada lo antes posible:
Si la actualización inmediata no es viable (mitigaciones temporales)
Deshabilite HTTP PUT a nivel de servidor, conector o proxy inverso (por ejemplo, mediante configuración del servidor web o reglas de firewall).
Refuerce/elimine reglas de Rewrite que permitan reescrituras arbitrarias a ubicaciones con escritura; específicamente elimine reglas que reescriban o reenvíen parámetros de consulta a rutas de archivos.
Refuerce el manejo de subidas de archivos en las aplicaciones web:
/WEB-INF/, /META-INF/, o cualquier classpath de la aplicación.Filtre/bloquee URIs de explotación en el perímetro (WAF / proxy inverso) bloqueando payloads codificados sospechosos y patrones que intenten evadir las protecciones de /WEB-INF o /META-INF.
Mínimo privilegio para almacenes de archivos: asegúrese de que el proceso de la aplicación web no pueda escribir en directorios que sean servidos o ejecutados por el contenedor.
Resumen de la función
Esta herramienta realiza detección en dos pasos basada en la descripción oficial de CVE-2025-55752:
Intenta explotar el orden incorrecto de normalización de URL antes de la decodificación en el Rewrite Valve de Apache Tomcat, permitiendo path traversal a ubicaciones protegidas como /WEB-INF o /META-INF.
Intenta subir un archivo JSP de prueba mediante HTTP PUT, luego verifica si los mecanismos de protección pueden ser evadidos para acceder al archivo subido.
Verificar si es posible el path traversal a directorios protegidos:
python3 cve_2025_55752_detector.py http://target:8080 --check
Intentar subir un archivo JSP y probar el bypass de acceso:
python3 cve_2025_55752_detector.py http://target:8080
🔧 Personalizar el nombre del archivo y el contenido del payload:
python3 cve_2025_55752_detector.py http://target:8080 --filename exploit.jsp --payload "<% out.println('PWNED'); %>"