Investigadores descubren una falla de inyección XXE (CVE-2025-68493) que afecta a múltiples versiones del framework, reviviendo los temores de seguridad en aplicaciones empresariales heredadas.
El nombre Apache Struts todavía provoca escalofríos en los departamentos de TI (recordando la histórica brecha de Equifax). Lamentablemente, la historia se repite este inicio de año. Investigadores reportan que se ha descubierto una vulnerabilidad crítica de inyección de entidades externas XML (XXE) en el componente XWork de Struts 2, lo que pone en riesgo la confidencialidad de millones de aplicaciones web en todo el mundo.
Rastreada como CVE-2025-68493, esta falla permite a los atacantes manipular cómo la aplicación procesa datos XML, abriendo la puerta al robo de archivos sensibles del servidor y ataques de denegación de servicio.
El Fallo: Un Parser XML demasiado confiado
El problema reside en el componente XWork, encargado del análisis de configuraciones XML dentro del framework.
- La Vulnerabilidad: El parser no valida adecuadamente la entrada XML, permitiendo la inyección de entidades externas.
- El Mecanismo: Un atacante puede enviar un payload XML malicioso que obliga al servidor a procesar referencias a archivos externos.
- El Impacto:
- Divulgación de Datos: Lectura de archivos locales del servidor (como /etc/passwd o archivos de configuración con credenciales de base de datos).
- SSRF: Falsificación de solicitudes del lado del servidor para escanear o atacar la red interna.
- DoS: Ataques de denegación de servicio mediante la expansión recursiva de entidades (ataque “Billion Laughs”).
¿Quién está en riesgo?
La vulnerabilidad tiene un alcance amplio, afectando tanto a versiones modernas como a versiones antiguas que ya no tienen soporte oficial (End-of-Life), lo que complica la mitigación en sistemas legacy.
Versiones Afectadas:
- Struts 2.0.0 a 2.3.37 (EOL)
- Struts 2.5.0 a 2.5.33 (EOL)
- Struts 6.0.0 a 6.1.0 (Soporte Activo)
Solución y Mitigación
La Fundación Apache ha reaccionado lanzando la versión 6.1.1, que corrige el defecto y mantiene la compatibilidad con versiones anteriores para facilitar la actualización.
Acciones Inmediatas:
- Actualizar: La única solución definitiva es migrar a Struts 6.1.1.
- Mitigación Temporal (Workaround): Si la actualización no es posible de inmediato, los administradores pueden:
- Configurar un SAXParserFactory personalizado que deshabilite explícitamente las entidades externas.
- Usar propiedades del sistema JVM para bloquear el acceso a esquemas y DTDs externos globalmente: -Djavax.xml.accessExternalDTD=””
Recomendación
Dado el historial de explotación masiva de vulnerabilidades en Struts, los equipos de seguridad deben tratar esto como una emergencia de nivel 1. Escanee su inventario de software en busca de cualquier instancia de Struts 2 y aplique los parches o mitigaciones antes de que los exploits se hagan públicos.




