Alertas

Vulnerabilidad de ejecución remota de código en el núcleo de Spring Framework (SpringShell) (CVE-2022-22965)

Recientemente, se anunciaron dos vulnerabilidades dentro de Spring Framework. El 29 de marzo de 2022, la vulnerabilidad de acceso a recursos de Spring Cloud Expression (CVE-2022-22963) se parcheó con el lanzamiento de Spring Cloud Function 3.1.7 y 3.2.3. Ahora Spring Framework ha detectado otra vulnerabilidad RCE más grave (CVE-2022-22965). [1]
07 Apr 2022
1 Minutos de lectura

ANÁLISIS

La vulnerabilidad permite a un atacante la ejecución remota de código (RCE) no autenticado. 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. La explotación de esta vulnerabilidad podría resultar en la instalación de un webshell en el servidor comprometido que permita una mayor ejecución del comando. [2]

Productos afectados:

  • Spring Framework     5.3.0 - 5.3.17
  • Spring Framework    5.2.0 - 5.2.19
  • Spring Framework     < 5.2.0
  • Contenedor de aplicaciones: Apache Tomcat (Actualmente los exploits solo están disponibles para este entorno) 
  • Aplicaciones empaquetadas como WAR 
  • Dependencias: SpringMVC y Spring WebFlux 
  • JDK >=9

Esta vulnerabilidad tiene una puntuación CVSSv3 de 9.8, por lo que se considera de prioridad crítica. [3]

Existen pruebas de concepto que exploten esta vulnerabilidad. [4]

RECOMENDACIONES

Spring Framework ya ha parcheado la vulnerabilidad a partir de las versiones 5.3.18 y 5.2.20, por lo que se recomienda actualizar a estas versiones desde el repositorio oficial [5].

Si una actualización no es posible, también se plantean las siguientes soluciones como alternativa:

  1. Actualizar Apache Tomcat a las versiones 10.0.20, 9.0.62 o 8.5.78
  2. Regresar a la versión 8 de Java JDK.
  3. Otra solución alternativa es deshabilitar el enlace a campos particulares configurando disallowedFieldson WebDataBinder globalmente.

No obstante, estas soluciones alternativas no ofrecen la misma protección que actualizar Spring Framework. [6]

 
REFERENCIAS

[1] https://unit42.paloaltonetworks.com/cve-2022-22965-springshell/
[2] https://securelist.com/spring4shell-cve-2022-22965/106239/
[3] https://www.tarlogic.com/es/blog/vulnerabilidad-spring4shell-cve-2022-22965-cve-2022-22963/
[4] https://github.com/sunnyvale-it/CVE-2022-22965-PoC
[5] https://repo.spring.io/ui/native/release/org/springframework/spring/
[6] https://securelist.com/spring4shell-cve-2022-22965/106239/

160 visitas