Según su propio sitio web, “Apache Struts es framework de MVC gratuito y Open Source para crear modernas y elegantes aplicaciones en Java. Favorece la convención sobre la configuración, es extensible utilizando una arquitectura de plugins y se distribuye con plugins para soportar REST, AJAX y JSON.”

La vulnerabilidad, que ha recibido el código CVE-2017-5638, permite a un atacante ejecutar órdenes remotas sobre un servidor a través de un contenido subido al componente de análisis Jakarta Multipart, el cual es utilizado por algunas aplicaciones de Struts. Si se quiere evitar la explotación de la vulnerabilidad, hay que actualizar Struts a la versión 2.3.32 o 2.5.10.1. Por otro lado, los desarrolladores del framework han aconsejado usar un filtro de servlets para “validar el Content-Type y repeler las peticiones con valores sospechosos que no coincidan con multipart/form-data.”

Cisco ha detectado una prueba de concepto que fue subida a un sitio web de China el pasado martes, además de detectar varios intentos de explotación de la vulnerabilidad que nos ocupa en esta entrada.

Los ataques fueron aumentando en complejidad. En algunos casos, los atacantes intentaron ejecutar comandos “whoami” (¿Quién soy yo?) en posibles intentos de atacar un servidor en funcionamiento. En otros ataques, sus autores han intentado rutinas más complejas, encadenando diferentes líneas de comandos de shell.

Los atacantes han intentado desactivar el firewall de SUSE Linux y otros firewalls usados por otras distribuciones Linux, provocar descargas y ejecuciones de cargas de malware y también han intentado obtener presencia persistente en hosts infectados añadiendo un binario en la rutina de arranque. Las cargas de malware observadas en los ataques de Struts incluyen bouncers de IRC, bots de DoS y el bot DDoS de Bill Gates.

Mientras no sean parcheados todos los servidores en funcionamiento, la vulnerabilidad seguirá siendo una amenaza.

 

Fuente: BleepingComputer | muyseguridad