Se ha hecho pública una vulnerabilidad crítica que
permite ejecución remota de comandos en versiones del framework Apache Struts,
permitiendo a un atacante remoto explotar esta vulnerabilidad y tomar el
control del sistema. Ya han sido detectados ataques que aprovechan esta
vulnerabilidad, catalogada de Importancia: 5- Crítica
Recursos afectados:
- La vulnerabilidad afecta a Struts 2.3.5 a Struts
2.3.31 y Struts 2.5 a Struts 2.5.10.
Recomendación
Apache recomienda las siguientes contramedidas:
- Actualizar a versiones de Apache Struts que no
contengan el parser vulnerable, por ejemplo 2.3.32 / 2.5.10.1 o
posteriores.
- Actualizar firmas del IDS/IPS. Por ej. Snort ya
incluye reglas en server-apache.rules: SERVER-APACHE Apache Struts remote
code execution attempt (SIDs: 41818, 41819)
- Cambiar el Multipart parser basado en Jakarta
(JakartaStreamMultiPartRequest) por otra implementación del parser
(struts.multipart.parser).
Detalle e impacto de la vulnerabilidad
- Struts es un framework de soporte para el desarrollo
de aplicaciones web basadas en el modelo de arquitectura
Modelo-Vista-Controlador diseñada para operar bajo la plataforma Java
Enterprise Edition. Es parte del proyecto Jakarta de la Fundación Apache.
- La vulnerabilidad reportada afecta al Jakarta
Multipart parser incluido en Apache Struts
(JakartaStreamMultiPartRequest). Aprovechando la vulnerabilidad, es
posible para un atacante remoto modificar la cabecera Content-Header para
inyectar comandos de sistema operativo en el servidor a través de un valor
Content-Type.
- Se ha reservado el identificador CVE-2017-5638 para
esta vulnerabilidad
Más información
- Content-Type:
Malicious - New Apache 0-day Under Attack http://blog.talosintelligence.com/2017/03/apache-0-day-exploited.html
- S2-045 -
Possible Remote Code Execution when performing file upload based on
Jakarta Multipart parser https://cwiki.apache.org/confluence/display/WW/S2-045