Back to top

Security Tips - Spring4Shell

Publicado por Cristian Cisner... el 14-04-2022

Descripción

Spring4Shell es un RCE (Remote Command Execution) que afecta a las versiones 5.3.17 o anteriores de la librería de Java Spring Core. El fallo de seguridad viene dado ya que es posible evadir las medidas de seguridad implementadas para solventar la vulnerabilidad con identificador CVE-2010-1622.

La versión 9 de JDK o versiones posteriores se podrían ver afectadas 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.
     

Solución

A pesar de que actualmente no existe ningún parche disponible que solvente la vulnerabilidad. Si existen, sin embargo, medidas de mitigación. Una de las medidas consiste en parchear DataBinder añadiendo una lista negra de patrones de campos vulnerables utilizados durante el proceso de explotación:
 

Referencias

¿Necesitas más información?

En Basetis tenemos una amplia experiencia en la creación de entornos seguros para minimizar riesgos y posibles vulnerabilidades en tu organización. ¡No dudes en contactarnos!

Contacta con Basetis

+1
3


0 Comentarios

Todavía no hay comentarios, pero puedes añadir el tuyo!