13 de julio de 2017

APACHE STRUTS. Posible ejecución remota de código

Se ha descubierto una vulnerabilidad de ejecución remota de código en versiones del framework Apache Struts a través de la aplicación instalada por defecto Struts Showcase app. Esta vulnerabilidad podría permitir a un atacante remoto ejecutar código en el sistema afectado y tomar el control del mismo, catalogada de importancia, 4, Alta.
Recursos afectados:
  • La vulnerabilidad afecta a Struts 2.3.x con Struts 1 plugin.
Recomendación
Apache Struts recomienda utilizar las claves de recurso en lugar de pasar un mensaje en bruto a ActionMessage tal y como se muestra a continuacion:
messages.add("msg", new ActionMessage("struts1.gangsterAdded", gform.getName()));
No debe realizarse mediante:
messages.add("msg", new ActionMessage("Gangster " + gform.getName() + " was added"));
Adicionalmente también puede deshabilitarse Struts Showcase app y actualizar a la versión Apache Struts 2.5.10.
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 posible realizar un ataque de ejecución remota de código a través de un valor malicioso en un campo cuando se usa el complemento Struts 1 y el valor es parte de un mensaje presentado al usuario, cuando se usa por ejemplo una entrada no fiable como parte de un mensaje de error en la clase ActionMessage.
Más información
      S2-048 — Possible RCE in the Struts Showcase app in the Struts 1 plugin example in Struts 2.3.x series https://cwiki.apache.org/confluence/display/WW/S2-048
      Apache Struts2 Showcase Remote Code Execution! (S2-048) http://pentestit.com/apache-struts2-showcase-remote-code-execution-s2-048/
Fuente: INCIBE