
CVE-2022-22965\Spring-Core-RCE comparable a la vulnerabilidad de nivel bomba nuclear de Apache Log4j2 exp de RCE con un solo clic.
Spring-Core-RCE es comparable al exploit RCE de un solo clic de la vulnerabilidad de nivel de bomba nuclear de Apache Log4j2
Recientemente, en un issue oficial de GitHub de Spring se mencionó una vulnerabilidad de ejecución remota de comandos en Spring Core, que existe ampliamente en Spring Framework y sus marcos derivados.

Spring Core es un paquete de herramientas en la serie de productos Spring encargado de descubrir, crear y gestionar las relaciones entre los beans. Es un paquete de herramientas central que contiene lo básico de Spring Framework, y otros componentes de Spring deben usar este paquete.
Un atacante no autenticado puede utilizar esta vulnerabilidad para ejecutar código arbitrario de forma remota. Esta vulnerabilidad existe ampliamente en Spring Framework y sus marcos derivados. Las versiones de JDK 9.0 y superiores se ven afectadas. Los productos que utilizan versiones antiguas de JDK no se ven afectados. Se recomienda a las empresas con esta vulnerabilidad bloquear en el firewall las solicitudes que contengan cadenas especiales para evitar ser atacadas.


docker run -d -p 8080:8080 vulfocus/spring-core-rce-2022-03-29:latest



Spring Framework y sus marcos derivados se verán afectados. (Se requiere JDK versión 9.0 o superior).
Según los datos más recientes del sistema FOFA (datos de un año), se muestra que a nivel mundial (con la consulta FOFA mencionada) hay un total de 7,023,506 servicios relacionados expuestos. China tiene la mayor cantidad, con 2,987,121; Estados Unidos en segundo lugar, con 1,215,955; Brasil en tercero, con 381,319; Corea del Sur en cuarto, con 219,201; y Alemania en quinto, con 213,097.
La distribución global es la siguiente (solo distribución, no afectación de la vulnerabilidad)
Actualizar la versión de Spring Framework
Spring Framework == 5.3.18
Spring Framework == 5.2.20
Se pueden agregar las siguientes reglas en el WAF para filtrar cadenas de entrada especiales:
Class.*
class.*
*.class.*
*Class.*
Puede buscar la anotación @InitBinder en el código del producto afectado, determinar si el cuerpo del método contiene el método dataBinder.serDisallowerFields, y si lo encuentra, agregue las siguientes reglas de filtro en la lista negra:
Class.*
class.*
*.class.*
*Class.*