Spring4Shell (CVE-2022-22965): detalles y mitigaciones

La semana pasada, 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.

CVE-2022-22965 y CVE-2022-22963: detalles técnicos

CVE-2022-22965 (Spring4Shell, SpringShell) es una vulnerabilidad en Spring Framework que usa la funcionalidad de vinculación de datos para vincular datos almacenados dentro de una solicitud HTTP a ciertos objetos utilizados por una aplicación. El error existe en el método getCachedIntrospectionResults , que se puede usar para obtener acceso no autorizado a dichos objetos pasando sus nombres de clase a través de una solicitud HTTP. Crea los riesgos de fuga de datos y ejecución remota de código cuando se utilizan clases de objetos especiales. Esta vulnerabilidad es similar al CVE-2010-1622 cerrado hace mucho tiempo, en el que se agregaron verificaciones de nombres de clase como una solución para que el nombre no coincidiera con classLoader o protectionDomain.Sin embargo, en una versión más reciente de JDK existe un método alternativo para tal explotación, por ejemplo, a través de la funcionalidad del sistema del módulo de la plataforma Java 9.
Entonces, un atacante puede sobrescribir la configuración de registro de Tomcat y luego cargar un shell web JSP para ejecutar comandos arbitrarios en un servidor que ejecuta una versión vulnerable del marco.

Una configuración vulnerable consta de:

  • JDK versión 9+
  • Apache Tomcat para servir la aplicación
  • Spring Framework versiones 5.3.0 a 5.3.17 y 5.2.0 a 5.2.19 y anteriores
  • aplicación construida como un archivo WAR

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.

Una configuración vulnerable consta de:

  • Spring Cloud Function 3.1.6, 3.2.2 y versiones anteriores

Mitigaciones para la explotación de vulnerabilidades de Spring

CVE-2022-22965 está arreglado en 2.6.6; vea el blog de Spring para más detalles .

Para corregir CVE-2022-22963, también debe instalar las nuevas versiones de Spring Cloud Function; consulte el sitio web de VMware para obtener más información .

Para detectar intentos de explotación, asegúrese de que las funciones Prevención avanzada de explotación y Bloqueador de ataques de red estén habilitadas. Algunas técnicas utilizadas durante la explotación se pueden ver en otros exploits que detectamos, por lo que los nombres de los veredictos pueden diferir.

Indicadores de compromiso

Veredictos
PDM:Exploit.Win32.Generic
UMIDS:Intrusion.Generic.Agent.gen
Intrusion.Generic.CVE-*.*

Hashes MD5 de los exploits
7e46801dd171bb5bf1771df1239d760c – shell.jsp (CVE-2022-22965)
3de4e174c2c8612aebb3adef10027679 – exploit.py (CVE-2022-22965)

Fuente: https://securelist.com/

No olvides Compartir...  

Siguenos en twitter: @disoftin - @fredyavila - @PaolaMRincon

Publicar un comentario

0 Comentarios