viernes, 10 de marzo de 2017

Vulnerabilidad crítica en Apache Struts

Se ha confirmado una vulnerabilidad en el proyecto Apache Struts que podría permitir a un atacante remoto ejecutar código arbitrario en los sistemas afectados. El problema se agrava por la existencia de una prueba de concepto pública que se está aprovechando en ataques de forma activa.

Struts es un entorno de trabajo de código abierto para el desarrollo de aplicaciones web en Java EE bajo el patrón MVC (Modelo Vista Controlador). Desarrollado por la Apache Software Foundation, en un primer momento formaba parte del proyecto Jakarta, convirtiéndose en proyecto independiente en 2005.

En esta ocasión ha sido el equipo de Cisco Talos el que ha alertado de la existencia de ataques aprovechando esta vulnerabilidad de forma activa. El problema, considerado de gravedad alta (con CVE-2017-5638), es una ejecución remota de código que afecta al analizador Jakarta Multipart de Apache Struts. Si el valor de Content-Type no es válido se genera una excepción que se utiliza para mostrar un mensaje de error a un usuario, de esta forma el atacante puede modificar la cabecera Content-Header para inyectar comandos de sistema operativo en el servidor.

Se confirma la posibilidad de ejecución de comandos simples (como, whoami) de forma sencilla, pero también se pueden ejecutar comandos más sofisticados, incluyendo el despliegue de un ELF malicioso y su ejecución.

Uno de los ejemplos de la vulnerabilidad para ejecutar un simple comando Linux. Fuente: Cisco Talos

La forma más sencilla para evitar las vulnerabilidades es actualizar a Apache Struts versiones 2.3.32 o 2.5.10.1; disponibles desde:

Más información:

Content-Type: Malicious - New Apache Struts2 0-day Under Attack

Possible Remote Code Execution when performing file upload based on Jakarta Multipart parser.



Antonio Ropero
Twitter: @aropero

No hay comentarios:

Publicar un comentario en la entrada