Apache ha confirmado que un problema en el proyecto
Apache Struts que podría permitir a un atacante modificar estados internos de
Struts.
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 la actualidad la
versión 2 es la única soportada.
Detalle e Impacto de la
vulnerabilidad
- Una vez más un problema no solucionado adecuadamente en una versión anterior obliga a publicar una actualización para su corrección. En esta ocasión se debe a la manipulación de ClassLoader a través de CookieInterceptor cuando está configurado para aceptar todas las cookies
- La exclusión de parámetros introducida en la versión 2.3.16.2 para bloquear el acceso al método getClass() no cubría todas las causas por lo que un atacante podría llegar a modificar el estado de la sesión, petición y más (en caso de que se use "*" en el parámetro cookiesName).
Recomendación
- Se ha publicado la versión 2.3.16.3 que soluciona el problema.
Más
información:
- Extends excluded params in CookieInterceptor to avoid manipulation of Struts' internals http://struts.apache.org/release/2.3.x/docs/s2-022.html