Nuevo RCE en Java: Spring4Shell

Nuevo RCE en Java: Spring4Shell

Hace algunas semanas los investigadores encontraron la vulnerabilidad crítica CVE-2022-22965 en Spring, el marco Java de código abierto. Usando la vulnerabilidad, un atacante puede ejecutar código arbitrario en un servidor web remoto, lo que convierte a CVE-2022-22965 en una amenaza crítica, dada la popularidad del framework Spring. Por analogía con la infame amenaza Log4Shell , la vulnerabilidad se denominó Spring4Shell.

¿Qué es Spring4Shell?

Una Vulnerabilidad en Spring Framework que quedo confirmada luego de publicarse una Prueba de Concepto (POC) de Spring4shell. El fallo de seguridad viene dado ya que es posible evadir las medidas de seguridad implementadas para resolver la vulnerabilidad identificado con el CVE-2010-1622.

Aquellos usuarios que tengan instalada la versión 9 de JDK o versiones posteriores se podrían ver afectados por ataques RCE para los que el atacante no necesitaría ningún tipo de autenticación previa.

Para que la vulnerabilidad sea explotable, deben darse una serie de requisitos:

  • Debe existir un endpoint con DataBinder habilitado (por ejemplo, una petición POST que decodifique la información del cuerpo de la petición automáticamente), y dependería en gran medida del contenedor del servlet de la aplicación.
  • Hacer uso de una versión de Spring y JDK vulnerables.
  • No haber implementado una lista que bloquee campos como «class», «module» o «classLoader», ya que el exploit se aprovecha del ClassLoader de Tomcat y su funcionalidad de logging para crear una puerta trasera JSP.

CVE-2022-22963 es una vulnerabilidad en la funcionalidad de enrutamiento de Spring Cloud Function que permite la inyección de código a través de Spring Expression Language (SpEL) agregando un encabezado especial spring.cloud.function.routing-expression a una solicitud HTTP. SpEL es un lenguaje de expresión especial creado para Spring Framework que admite consultas y gestión de gráficos de objetos en tiempo de ejecución. Esta vulnerabilidad también se puede utilizar para la ejecución remota de código.

Productos y Versiones afectados

  • Spring4Shell: RCE confirmado en la librería de Java Spring Core <=5.3.17. (CVE-2022-22965)
  • CVE-2022-22963: RCE confirmado en Spring Cloud Function <=3.1.6 y <=3.2.2. (CVE-2022-22963)

Acciones para su mitigación

  • Spring Framework 5.3.18.
  • Spring Framework 5.2.20.
  • Spring Boot 2.6.6.

Canal de Denuncias

Ingrese a este enlace para denunciar cualquier actividad de la que haya podido ser testigo o tenga alguna sospecha de comisión de un delito relacionado a corrupción.