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