Vulnerabilidades Críticas en Apache Tomcat Exponen Servidores a Ejecución Remota de Código: Actualización Urgente Requerida

Published:

La Apache Software Foundation ha revelado dos vulnerabilidades críticas en Apache Tomcat, el contenedor de servlets Java ampliamente utilizado que alimenta millones de aplicaciones web empresariales. Estas fallas, identificadas como CVE-2025-55752 y CVE-2025-55754, representan riesgos significativos que requieren acción inmediata por parte de los administradores de sistemas.

Análisis Técnico de las Vulnerabilidades

CVE-2025-55752 – Directory Traversal para RCE:

  • Severidad: Importante (Potential RCE)

  • Origen: Regresión en fix anterior (bug 60013)

  • Mecanismo: Normalización de URLs antes del decoding

  • Impacto: Bypass de protecciones /WEB-INF/ y /META-INF/

CVE-2025-55754 – Manipulación de Consola via ANSI Escapes:

  • Severidad: Baja (Manipulación de Consola)

  • Origen: Secuencias ANSI no neutralizadas en logs

  • Impacto: Manipulación de display y clipboard en Windows

CVE-2025-55752: Análisis Profundo del Directory Traversal

Mecanismo de Explotación:

// Vulnerabilidad en URL rewriting
String normalizedUrl = normalize(request.getRequestURI());
String decodedUrl = URLDecoder.decode(normalizedUrl, "UTF-8");
// La normalización ocurre ANTES del decoding, permitiendo bypass

Condiciones de Explotación:

  • PUT Requests Habilitados: Configuración típica en entornos de desarrollo

  • Rewriting Rules Activas: Reglas de reescritura de URLs configuradas

  • Directories Sensibles Expuestos: /WEB-INF/ y /META-INF/ accesibles

Escenario de Ataque:

PUT /app/%2e%2e%2fWEB-INF%2fweb.xml HTTP/1.1
Host: vulnerable-tomcat.example.com
Content-Type: application/xml
Content-Length: 512

<web-app>
<!-- Contenido malicioso que permite RCE -->
</web-app>

Versiones Afectadas y Parches

Matriz de Vulnerabilidades:

CVE Severidad Versiones Afectadas Versión Corregida
CVE-2025-55752 Importante 11.0.0-M1 – 11.0.10
10.1.0-M1 – 10.1.44
9.0.0-M11 – 9.0.108
11.0.11
10.1.45
9.0.109
CVE-2025-55754 Baja 11.0.0-M1 – 11.0.10
10.1.0-M1 – 10.1.44
9.0.0.40 – 9.0.108
11.0.11
10.1.45
9.0.109

Estrategia de Mitigación Inmediata

Actualización de Versiones:

# Verificar versión actual de Tomcat
./bin/version.sh

# Descargar versiones parcheadas
# Tomcat 11: https://tomcat.apache.org/download-11.cgi
# Tomcat 10: https://tomcat.apache.org/download-10.cgi  
# Tomcat 9: https://tomcat.apache.org/download-90.cgi

# Procedimiento de actualización
1. Backup de configuración y aplicaciones
2. Descargar versión parcheada
3. Migrar configuraciones
4. Reiniciar instancias

Configuraciones de Hardening:

<!-- server.xml - Deshabilitar PUT requests -->
<Connector port="8080" protocol="HTTP/1.1">
    <HttpServlet3Request allowPayloadOperation="false"/>
</Connector>

<!-- web.xml - Restricciones adicionales -->
<security-constraint>
    <web-resource-collection>
        <web-resource-name>Restrict PUT</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>PUT</http-method>
    </web-resource-collection>
    <auth-constraint/>
</security-constraint>

Detección y Respuesta a Incidentes

Indicadores de Compromiso (IOCs):

Logs de Acceso Sospechosos:

# Buscar patrones de directory traversal
grep -E "(\.\./|%2e%2e|%2fWEB-INF|%2fMETA-INF)" logs/localhost_access_log.*

# Monitorizar requests PUT
grep "PUT " logs/localhost_access_log.* | head -20

Monitoreo de Archivos Sensibles:

# Verificar integridad de /WEB-INF/ y /META-INF/
find webapps/ -name "web.xml" -exec md5sum {} \;
ls -la webapps/*/WEB-INF/classes/

Herramientas de Detección:

# Scanner para vulnerabilidades Tomcat
nmap -p 8080 --script http-tomcat-cve-2025-55752 target.com

# Verificación de versión via HTTP
curl -I http://target.com:8080 | grep "Server:"

Contexto de Amenaza Empresarial

Impacto Potencial:

  • Ejecución Remota de Código: Compromiso completo del servidor

  • Exfiltración de Datos: Acceso a información sensible de aplicaciones

  • Persistencia: Backdoors en aplicaciones web desplegadas

  • Movimiento Lateral: Punto de entrada a redes internas

Sectores de Alto Riesgo:

  • Banca y Finanzas: Aplicaciones web transaccionales

  • Salud: Sistemas de información hospitalaria

  • Gobierno: Portales y servicios ciudadanos

  • E-commerce: Plataformas de comercio electrónico

Mejores Prácticas de Seguridad Tomcat

Configuración Segura por Defecto:

# Deshabilitar métodos HTTP peligrosos
sed -i 's/<http-method>PUT<\/http-method>//g' web.xml
sed -i 's/<http-method>DELETE<\/http-method>//g' web.xml

# Configurar permisos de archivos
chmod 750 webapps/*/WEB-INF/
chmod 640 webapps/*/WEB-INF/web.xml

Monitorización Proactiva:

<!-- Configuración de logging detallado -->
<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log" suffix=".txt"
       pattern="%h %l %u %t &quot;%r&quot; %s %b %D"
       resolveHosts="false"/>

Plan de Respuesta a Incidentes

Procedimiento de Contención:

  1. Aislamiento: Desconectar servidores comprometidos de la red

  2. Análisis: Preservar logs y configuraciones para forense

  3. Eradicación: Reinstalar Tomcat desde fuentes limpias

  4. Recuperación: Restaurar aplicaciones desde backups verificados

Comunicación de Incidentes:

  • Equipo Legal: Notificación de breches según regulaciones

  • Clientes/Afectados: Transparencia controlada sobre impacto

  • Autoridades: Reporte a CERT nacional si aplica

Lecciones para Desarrollo Seguro

Prevención de Regresiones:

// Test cases para vulnerabilidades de path traversal
@Test
public void testUrlNormalizationSecurity() {
    String maliciousUrl = "/app/../WEB-INF/web.xml";
    String normalized = normalizer.normalize(maliciousUrl);
    assertFalse(normalized.contains("WEB-INF"));
}

// Validación multi-capas de input
public String secureNormalize(String input) {
    String decoded = URLDecoder.decode(input, "UTF-8");
    String normalized = normalize(decoded);
    return pathTraversalCheck(normalized);
}

Conclusión: Acción Inmediata Requerida

La vulnerabilidad CVE-2025-55752 representa una amenaza significativa para organizaciones que ejecutan Apache Tomcat en configuraciones vulnerables. La combinación de directory traversal y potencial ejecución remota de código requiere acción inmediata:

Prioridades de Implementación:

  1. Actualización Inmediata: Migrar a versiones 11.0.11, 10.1.45, o 9.0.109

  2. Auditoría de Configuración: Verificar estado de PUT requests y rewriting rules

  3. Monitorización Intensiva: Buscar indicadores de compromiso en logs

  4. Hardening Proactivo: Implementar configuraciones seguras por defecto

Recursos Esenciales:

La ventana de acción es crítica – la naturaleza pública de estas vulnerabilidades significa que los actores de amenazas comenzarán a desarrollar y desplegar exploits en breve. La protección proactiva mediante actualización inmediata es la única defensa efectiva contra esta amenaza a la infraestructura web empresarial.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles