fbpx
Capital Software

CVE-2019-0230: Vulnerabilidad potencial de ejecución remota de código de Apache Struts

jQuery Plugin Unauthenticated File Upload Attacks | Tenable®

Apache publicó dos boletines de seguridad para abordar una posible vulnerabilidad de ejecución remota de código y una vulnerabilidad de denegación de servicio. La prueba pública del código conceptual está disponible.

Fondo

El 13 de agosto, Apache publicó boletines de seguridad para abordar dos vulnerabilidades en Apache Struts versión 2. Apache Struts es un framework de controlador de vista de modelo (MVC) de código abierto utilizado para crear aplicaciones web Java.

Análisis

CVE-2019-0230 es una vulnerabilidad de evaluación de lenguaje de navegación de doble gráfico de objetos (OGNL) forzada que se produce cuando Struts intenta realizar una evaluación de la entrada de usuario sin procesar dentro de los atributos de etiqueta. Un atacante podría explotar esta vulnerabilidad inyectando expresiones OGNL malintencionadas en un atributo utilizado dentro de una expresión OGNL. Según Apache, la explotación de esta vulnerabilidad podría dar lugar a la ejecución remota de código (RCE).

En el boletín de seguridad de Apache, S2-059,se proporcionó un ejemplo de atributos de etiqueta vulnerables:

En Struts 2, Apache ha dado a los desarrolladores la capacidad de utilizar la evaluación doble forzada con «ciertos atributos de etiqueta». Mientras Struts contiene mitigaciones para abordar posibles expresiones inyectadas, Apache señala que las versiones de Struts «antes de 2.5.22 dejaron un vector de ataque abierto» que, según ellos, ahora se aborda a través de esta actualización. Esta vulnerabilidad fue reportada a Apache por Matthias Kaiser, un investigador de vulnerabilidad en Apple.

CVE-2019-0233 es una vulnerabilidad de denegación de servicio (DoS) que resulta de una invalidación de permiso de acceso durante una carga de archivos. Según el boletín de seguridad S2-060, un atacante puede modificar una solicitud durante una operación de carga de archivos de una manera que da como resultado el conjunto de archivos cargado para acceso de solo lectura. Una vez cargado el archivo, se producirá un error en cualquier acción adicional en el archivo. La explotación de este defecto también podría dar lugar al error de cualquier operación de carga de archivos posterior, cualquiera de las cuales podría dar lugar a una condición de denegación de servicio para una aplicación afectada. La vulnerabilidad DoS fue encontrada e informada a Apache por Takeshi Terada de Mitsui Bussan Secure Directions, Inc. quien también es acreditado en varios informes de vulnerabilidad adicionales al equipo de Apache Struts, incluyendo S2-042 y S2-021.

El fantasma de CVE-2017-5638

Es ciertamente natural que los desarrolladores y organizaciones por igual expresen su preocupación por la perspectiva de una nueva vulnerabilidad en Apache Struts. Después de todo, las secuelas de CVE-2017-5638, una vulnerabilidad crítica de RCE en Apache Struts 2, condujo a una de las brechas más notables en la historia reciente.

A diferencia de CVE-2017-5638, que fue calificado como crítico en el momento de su divulgación, CVE-2019-0230 está actualmente clasificado como importante según Apache. Aunque no se ha asignado ninguna puntuación CVSS en el momento de la publicación, no parece que CVE-2019-0230 sea tan crítico como la vulnerabilidad de 2017. Sin embargo, todavía no hay suficiente información sobre el impacto potencial de esta vulnerabilidad en condiciones del mundo real, pero la precaución es ciertamente justificada con respecto a este defecto.

Prueba de concepto

Hemos identificado varios ejemplos de prueba de concepto (PoC) en GitHub para CVE-2019-0230. Sin embargo, es importante tener en cuenta que debido a que cada aplicación de Struts es única, la carga útil real necesaria para explotarla diferirá de una aplicación a una aplicación. Además, la aplicación tendría que desarrollarse de tal manera que permita a un atacante proporcionar entrada novalidada en un atributo utilizado dentro de una expresión OGNL.

Solución

Las versiones 2.0.0 a 2.5.20 de Apache Struts se ven afectadas por CVE-2019-0230 y CVE-2019-0233. Se abordan en Apache Struts versión 2.5.22. Se recomienda encarecidamente a los desarrolladores y propietarios de sitios que actualicen a la última versión lo antes posible. En el caso del CVE-2019-0230, Apache señala que la actualización a 2.5.22 limita los efectos maliciosos de la doble evaluación y cierra el vector de ataque notificado.

Apache también recomienda encarecidamente a los desarrolladores que eviten el uso del lenguaje de expresiones sin formato y utilicen etiquetas Struts en su lugar. Su guía de consejos de seguridad proporciona un conjunto útil de recomendaciones para los desarrolladores sobre la mejor manera de proteger sus aplicaciones, que incluye instrucciones sobre cómo proteger las aplicaciones de los ataques de inyección de expresiones OGNL.

Identificación de los sistemas afectados

Una lista de plugins Tenable para identificar esta vulnerabilidad aparecerá aquí a medida que se liberan.

Obtenga más información

Fuente: Tenable Blog

Abrir chat
1
Escanea el código
Hola, bienvenido a Capital Software, somos una empresa de soluciones informáticas. ¿En qué podemos ayudarte hoy?