Apache Struts CVE-2016-3081: ejecución de código vía DMI en KEV
La CISA ha añadido al catálogo KEV la CVE-2016-3081 de Apache Struts: con DMI activo permite ejecutar código en remoto. Versiones, riesgos y qué hacer.

El 8 de octubre de 2026 la CISA añadió al catálogo Known Exploited Vulnerabilities (KEV) la CVE-2016-3081, una vulnerabilidad de Apache Struts 2, el framework Java para aplicaciones web. Cuando la función Dynamic Method Invocation (DMI) está activa, un atacante remoto, sin autenticación, puede ejecutar código arbitrario en el servidor mediante el prefijo method: en las peticiones.
La vulnerabilidad no es nueva: se publicó en abril de 2016. El catálogo KEV, sin embargo, recoge las vulnerabilidades de las que la CISA tiene pruebas de explotación activa. Su inclusión es, por tanto, una señal concreta si todavía tienes en producción aplicaciones Struts que nunca se han actualizado.
Qué ha pasado
La CISA incluyó la CVE-2016-3081 en el KEV como “Apache Struts Command Injection Vulnerability” y fijó el 11 de octubre de 2026 como plazo para las agencias federales estadounidenses: tres días, un margen muy corto. En el catálogo, el uso en campañas de ransomware figura como “desconocido”.
El aviso pide aplicar las mitigaciones según las instrucciones del fabricante, de acuerdo con la directiva BOD 26-04 sobre la prioridad de las actualizaciones en función del riesgo y con los requisitos de triaje forense de la CISA. Si no hay mitigaciones disponibles, hay que dejar de usar el producto. El aviso pide también evaluar la exposición a Internet de cada sistema.
La CISA no da detalles sobre los ataques observados, los autores ni las víctimas.
Detalles técnicos
- CVE: CVE-2016-3081, publicada el 26 de abril de 2016. La ficha de NVD se actualizó el 9 de octubre de 2026.
- Versiones afectadas, según la descripción: Apache Struts de 2.3.19 a 2.3.20.2, de 2.3.21 a 2.3.24.1 y de 2.3.25 a 2.3.28, solo cuando Dynamic Method Invocation está activo.
- Configuraciones CPE: la lista de la ficha de NVD incluye en cambio versiones de las ramas 2.0, 2.1, 2.2 y 2.3, de la 2.0.0 a la 2.3.14. Las dos indicaciones no coinciden: conviene considerar en riesgo cualquier Struts 2 de esa época hasta que el boletín del fabricante diga lo contrario.
- Vector: red, con peticiones HTTP que usan el prefijo
method:, relacionado con las expresiones encadenadas (chained expressions). El resultado es la ejecución de código con los privilegios de la aplicación web. - Gravedad: CVSS 3.1 8.1 (alta),
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. El ataque se realiza por red, no requiere privilegios ni interacción del usuario y afecta a la confidencialidad, la integridad y la disponibilidad; la complejidad se clasifica como alta. CVSS 2: 9.3 (alta). - Debilidad: CWE-77 (inyección de comandos).
- Boletín del fabricante: la ficha de NVD remite al boletín S2-032 de Apache Struts, marcado como aviso del fabricante y corrección.
- Código público: entre las referencias de la ficha de NVD aparecen una página de Packet Storm titulada “Apache Struts 2.3.28 Dynamic Method Invocation Remote Code Execution”, una entrada de Exploit-DB y dos módulos de exploit catalogados por Rapid7 (
struts_dmi_exec). - Productos de terceros: la ficha de NVD incluye también los avisos de Oracle (Critical Patch Update de julio y octubre de 2016) y de Huawei. Struts está, por tanto, integrado también en productos de otros fabricantes, que han publicado sus propias correcciones.
- MITRE ATT&CK: T1190 (Exploit Public-Facing Application).
Impacto para las empresas europeas e italianas
Durante años Struts 2 fue una opción habitual para las aplicaciones web Java: portales, aplicaciones de gestión y servicios internos desarrollados a medida. Muchas de estas aplicaciones siguen en producción mucho tiempo, a menudo con las bibliotecas con las que se entregaron. Además, el framework puede estar integrado en productos de terceros sin que sea evidente, como muestran los avisos de Oracle y Huawei.
La ejecución de código en el servidor de la aplicación es un punto de entrada completo: desde ahí un atacante puede leer los datos que gestiona la aplicación y las credenciales de acceso a las bases de datos, y moverse hacia el resto de la red.
Para las entidades sujetas a NIS2, la gestión de vulnerabilidades y la seguridad de las aplicaciones forman parte de las medidas que exige la directiva. Un compromiso que empieza en una aplicación expuesta puede convertirse en un incidente que hay que valorar para su notificación al CSIRT nacional, que en Italia es el CSIRT Italia de la ACN.
Qué hacer ya
- Haz el inventario: identifica las aplicaciones web Java que incluyen Struts 2, también las desarrolladas a medida, las de proveedores y los productos de terceros. Busca las bibliotecas de Struts en los archivos de las aplicaciones desplegadas en los servidores.
- Comprueba versiones y configuración: según la descripción, las instalaciones afectadas son las de las versiones indicadas con Dynamic Method Invocation activo. Revisa la configuración de cada aplicación y ten en cuenta la discrepancia con la lista CPE.
- Actualiza o mitiga: aplica las correcciones y las indicaciones del boletín S2-032 de Apache Struts. Si todavía encuentras ramas de Struts de esa época, valora pasar a una versión que el fabricante siga soportando.
- Para los productos de terceros, sigue el boletín del proveedor. Si no existe una corrección, la CISA indica dejar de usar el producto.
- Reduce la exposición: comprueba qué aplicaciones Struts son accesibles desde Internet y si de verdad es necesario.
- Detecta: busca en los registros del servidor web y de la aplicación las peticiones con parámetros que empiezan por
method:. Para las aplicaciones que han estado expuestas y vulnerables, inicia un triaje forense del servidor, como pide la CISA.
Cómo ayuda ARXDOME
ARX Shield muestra las vulnerabilidades abiertas por máquina y por paquete y destaca las que ya explotan los atacantes, como las CVE del catálogo KEV. ARX Expose controla los servicios que tu empresa expone en Internet y las vulnerabilidades conocidas de los productos reconocidos. ARX Sentry recoge registros y eventos de los servidores, y ARX Trace ayuda en el triaje con las recopilaciones de artefactos y los cambios en los archivos de las máquinas sospechosas.
Última actualización:


