Iconos SCW
héroe bg sin separador
Blog

Nueva vulnerabilidad en la biblioteca Spring: cómo comprobar si está en peligro y cómo actuar

Charlie Eriksen
Publicado el 01 de abril de 2022
Última actualización el 9 de marzo de 2026

Recientemente, Spring Library, una de las bibliotecas más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para facilitar la comprensión del riesgo de que se produzcan vulnerabilidades y de las medidas que se deben tomar, se han clasificado los detalles conocidos sobre «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1 - «Spring 4 Shell» (CVE-2022-22965)

El 29 de marzo de 2022, la comunidad descubrió una serie de tuits que incluían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC). Esto permite la ejecución remota de código en todas las versiones de Spring Core, incluida la versión más reciente, la 5.3.17.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat se han visto expuestas al riesgo de este nuevo exploit. Aunque no se ha demostrado que los ataques contra el contenedor de servlets Tomcat integrado o contra otras aplicaciones no alojadas en Tomcat hayan tenido éxito, no se puede descartar la posibilidad de que en el futuro se produzcan amenazas contra estos marcos.

Declaración oficial sobre el lanzamiento de Spring Describe las vulnerabilidades que, según el conocimiento actual, deben cumplir las siguientes condiciones para ser consideradas vulnerables.

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado con WAR existente (en contraste con el archivo jar ejecutable de Spring Boot).
  • Dependencia de Spring-webmvc o Spring-webflux
  • Versiones 5.3.0~5.3.17, 5.2.0~5.2.19 y anteriores del marco Spring.

¿Cómo funciona el exploit «Spring4Shell»?

El abuso depende del uso de «enlace de datos» (org.SpringFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java antiguos (POJO) en la firma del método.

Aquí, la clase Foo es una clase POJO y se puede definir de la siguiente manera. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Al procesar solicitudes con este método, el cargador de clases se utiliza para resolver clases. El cargador de clases se encarga de cargar las clases en tiempo de ejecución sin necesidad de cargar previamente en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, identifica el archivo .jar que se debe cargar.

La información más reciente y detallada sobre esta vulnerabilidad se puede consultar directamente en Spring. Publicación en el blog(incluye posibles correcciones o soluciones).

Vulnerabilidad 2: Función Spring Cloud (CVE-2022-22963)

El 27 de marzo de 2022, CyberKendra reveló detalles sobre una vulnerabilidad de ejecución remota de código (RCE) de día cero en Spring Cloud Functions para la que no existe ningún parche. A esta vulnerabilidad se le ha asignado el ID CVE-2022-22963: Vulnerabilidad de acceso a recursos de Spring Expression.

¿Qué aplicaciones están en peligro?

Esta vulnerabilidad afectó a la aplicación en las siguientes condiciones.

  • JDK 9 o superior
  • Versión 3.1.6 (o inferior), 3.2.2 (o inferior) o versiones no compatibles de Spring Cloud Functions.

¿Cómo se lleva a cabo la explotación?

La función Spring Cloud ofrece a los desarrolladores la capacidad de configurar la forma en que se procesa el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, que normalmente se realiza mediante la configuración o el código. Se trata de una potente función que admite el «lenguaje de expresiones Spring» (SpEL). Se ha descubierto que, a través de esta vulnerabilidad de día cero, es posible configurar esta propiedad mediante el encabezado HTTP de la solicitud. Esto significa que un atacante puede ejecutar código arbitrario incrustando código SeL directamente en una solicitud HTTP al punto final RoutingFunction.

¿Qué medidas deben tomar los usuarios para mitigar el riesgo?

Las versiones públicas 3.1.7 y 3.2.3 de Spring Haskell resuelven este problema mitigando la vulnerabilidad al impedir que se configure esta propiedad a través del encabezado HTTP. No se requieren pasos adicionales después de actualizar a cualquiera de estas dos versiones.

¿Desea obtener más información sobre cómo ayudar a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de codificación segura : Security Code Coach.

출처

Ver recursos
Ver recursos

Recientemente, Spring Library, una de las bibliotecas más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). El análisis detallado de la información conocida sobre «Spring4Shell» y «Spring Cloud Function» ayuda a comprender si se ha estado expuesto al riesgo y, en caso afirmativo, cómo se debe actuar.

¿Le interesa saber más?

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostración
Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Charlie Eriksen
Publicado el 01 de abril de 2022

Destinatarios:
marcas de LinkedInSocialx logotipo

Recientemente, Spring Library, una de las bibliotecas más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para facilitar la comprensión del riesgo de que se produzcan vulnerabilidades y de las medidas que se deben tomar, se han clasificado los detalles conocidos sobre «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1 - «Spring 4 Shell» (CVE-2022-22965)

El 29 de marzo de 2022, la comunidad descubrió una serie de tuits que incluían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC). Esto permite la ejecución remota de código en todas las versiones de Spring Core, incluida la versión más reciente, la 5.3.17.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat se han visto expuestas al riesgo de este nuevo exploit. Aunque no se ha demostrado que los ataques contra el contenedor de servlets Tomcat integrado o contra otras aplicaciones no alojadas en Tomcat hayan tenido éxito, no se puede descartar la posibilidad de que en el futuro se produzcan amenazas contra estos marcos.

Declaración oficial sobre el lanzamiento de Spring Describe las vulnerabilidades que, según el conocimiento actual, deben cumplir las siguientes condiciones para ser consideradas vulnerables.

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado con WAR existente (en contraste con el archivo jar ejecutable de Spring Boot).
  • Dependencia de Spring-webmvc o Spring-webflux
  • Versiones 5.3.0~5.3.17, 5.2.0~5.2.19 y anteriores del marco Spring.

¿Cómo funciona el exploit «Spring4Shell»?

El abuso depende del uso de «enlace de datos» (org.SpringFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java antiguos (POJO) en la firma del método.

Aquí, la clase Foo es una clase POJO y se puede definir de la siguiente manera. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Al procesar solicitudes con este método, el cargador de clases se utiliza para resolver clases. El cargador de clases se encarga de cargar las clases en tiempo de ejecución sin necesidad de cargar previamente en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, identifica el archivo .jar que se debe cargar.

La información más reciente y detallada sobre esta vulnerabilidad se puede consultar directamente en Spring. Publicación en el blog(incluye posibles correcciones o soluciones).

Vulnerabilidad 2: Función Spring Cloud (CVE-2022-22963)

El 27 de marzo de 2022, CyberKendra reveló detalles sobre una vulnerabilidad de ejecución remota de código (RCE) de día cero en Spring Cloud Functions para la que no existe ningún parche. A esta vulnerabilidad se le ha asignado el ID CVE-2022-22963: Vulnerabilidad de acceso a recursos de Spring Expression.

¿Qué aplicaciones están en peligro?

Esta vulnerabilidad afectó a la aplicación en las siguientes condiciones.

  • JDK 9 o superior
  • Versión 3.1.6 (o inferior), 3.2.2 (o inferior) o versiones no compatibles de Spring Cloud Functions.

¿Cómo se lleva a cabo la explotación?

La función Spring Cloud ofrece a los desarrolladores la capacidad de configurar la forma en que se procesa el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, que normalmente se realiza mediante la configuración o el código. Se trata de una potente función que admite el «lenguaje de expresiones Spring» (SpEL). Se ha descubierto que, a través de esta vulnerabilidad de día cero, es posible configurar esta propiedad mediante el encabezado HTTP de la solicitud. Esto significa que un atacante puede ejecutar código arbitrario incrustando código SeL directamente en una solicitud HTTP al punto final RoutingFunction.

¿Qué medidas deben tomar los usuarios para mitigar el riesgo?

Las versiones públicas 3.1.7 y 3.2.3 de Spring Haskell resuelven este problema mitigando la vulnerabilidad al impedir que se configure esta propiedad a través del encabezado HTTP. No se requieren pasos adicionales después de actualizar a cualquiera de estas dos versiones.

¿Desea obtener más información sobre cómo ayudar a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de codificación segura : Security Code Coach.

출처

Ver recursos
Ver recursos

Para descargar el informe, rellene el siguiente formulario.

Solicitamos su consentimiento para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Siempre tratamos su información personal con el máximo cuidado y nunca la vendemos a otras empresas con fines de marketing.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, active la cookie «Analytics». Una vez completado, puede desactivarla en cualquier momento.

Recientemente, Spring Library, una de las bibliotecas más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para facilitar la comprensión del riesgo de que se produzcan vulnerabilidades y de las medidas que se deben tomar, se han clasificado los detalles conocidos sobre «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1 - «Spring 4 Shell» (CVE-2022-22965)

El 29 de marzo de 2022, la comunidad descubrió una serie de tuits que incluían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC). Esto permite la ejecución remota de código en todas las versiones de Spring Core, incluida la versión más reciente, la 5.3.17.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat se han visto expuestas al riesgo de este nuevo exploit. Aunque no se ha demostrado que los ataques contra el contenedor de servlets Tomcat integrado o contra otras aplicaciones no alojadas en Tomcat hayan tenido éxito, no se puede descartar la posibilidad de que en el futuro se produzcan amenazas contra estos marcos.

Declaración oficial sobre el lanzamiento de Spring Describe las vulnerabilidades que, según el conocimiento actual, deben cumplir las siguientes condiciones para ser consideradas vulnerables.

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado con WAR existente (en contraste con el archivo jar ejecutable de Spring Boot).
  • Dependencia de Spring-webmvc o Spring-webflux
  • Versiones 5.3.0~5.3.17, 5.2.0~5.2.19 y anteriores del marco Spring.

¿Cómo funciona el exploit «Spring4Shell»?

El abuso depende del uso de «enlace de datos» (org.SpringFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java antiguos (POJO) en la firma del método.

Aquí, la clase Foo es una clase POJO y se puede definir de la siguiente manera. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Al procesar solicitudes con este método, el cargador de clases se utiliza para resolver clases. El cargador de clases se encarga de cargar las clases en tiempo de ejecución sin necesidad de cargar previamente en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, identifica el archivo .jar que se debe cargar.

La información más reciente y detallada sobre esta vulnerabilidad se puede consultar directamente en Spring. Publicación en el blog(incluye posibles correcciones o soluciones).

Vulnerabilidad 2: Función Spring Cloud (CVE-2022-22963)

El 27 de marzo de 2022, CyberKendra reveló detalles sobre una vulnerabilidad de ejecución remota de código (RCE) de día cero en Spring Cloud Functions para la que no existe ningún parche. A esta vulnerabilidad se le ha asignado el ID CVE-2022-22963: Vulnerabilidad de acceso a recursos de Spring Expression.

¿Qué aplicaciones están en peligro?

Esta vulnerabilidad afectó a la aplicación en las siguientes condiciones.

  • JDK 9 o superior
  • Versión 3.1.6 (o inferior), 3.2.2 (o inferior) o versiones no compatibles de Spring Cloud Functions.

¿Cómo se lleva a cabo la explotación?

La función Spring Cloud ofrece a los desarrolladores la capacidad de configurar la forma en que se procesa el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, que normalmente se realiza mediante la configuración o el código. Se trata de una potente función que admite el «lenguaje de expresiones Spring» (SpEL). Se ha descubierto que, a través de esta vulnerabilidad de día cero, es posible configurar esta propiedad mediante el encabezado HTTP de la solicitud. Esto significa que un atacante puede ejecutar código arbitrario incrustando código SeL directamente en una solicitud HTTP al punto final RoutingFunction.

¿Qué medidas deben tomar los usuarios para mitigar el riesgo?

Las versiones públicas 3.1.7 y 3.2.3 de Spring Haskell resuelven este problema mitigando la vulnerabilidad al impedir que se configure esta propiedad a través del encabezado HTTP. No se requieren pasos adicionales después de actualizar a cualquiera de estas dos versiones.

¿Desea obtener más información sobre cómo ayudar a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de codificación segura : Security Code Coach.

출처

Ver seminario web
Empezar
Más información

Haga clic en el siguiente enlace y descargue el PDF de este recurso.

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Ver informeReserva de demostración
Ver recursos
Destinatarios:
marcas de LinkedInSocialx logotipo
¿Le interesa saber más?

Destinatarios:
marcas de LinkedInSocialx logotipo
Autor
Charlie Eriksen
Publicado el 01 de abril de 2022

Destinatarios:
marcas de LinkedInSocialx logotipo

Recientemente, Spring Library, una de las bibliotecas más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para facilitar la comprensión del riesgo de que se produzcan vulnerabilidades y de las medidas que se deben tomar, se han clasificado los detalles conocidos sobre «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1 - «Spring 4 Shell» (CVE-2022-22965)

El 29 de marzo de 2022, la comunidad descubrió una serie de tuits que incluían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC). Esto permite la ejecución remota de código en todas las versiones de Spring Core, incluida la versión más reciente, la 5.3.17.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat se han visto expuestas al riesgo de este nuevo exploit. Aunque no se ha demostrado que los ataques contra el contenedor de servlets Tomcat integrado o contra otras aplicaciones no alojadas en Tomcat hayan tenido éxito, no se puede descartar la posibilidad de que en el futuro se produzcan amenazas contra estos marcos.

Declaración oficial sobre el lanzamiento de Spring Describe las vulnerabilidades que, según el conocimiento actual, deben cumplir las siguientes condiciones para ser consideradas vulnerables.

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado con WAR existente (en contraste con el archivo jar ejecutable de Spring Boot).
  • Dependencia de Spring-webmvc o Spring-webflux
  • Versiones 5.3.0~5.3.17, 5.2.0~5.2.19 y anteriores del marco Spring.

¿Cómo funciona el exploit «Spring4Shell»?

El abuso depende del uso de «enlace de datos» (org.SpringFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java antiguos (POJO) en la firma del método.

Aquí, la clase Foo es una clase POJO y se puede definir de la siguiente manera. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Al procesar solicitudes con este método, el cargador de clases se utiliza para resolver clases. El cargador de clases se encarga de cargar las clases en tiempo de ejecución sin necesidad de cargar previamente en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, identifica el archivo .jar que se debe cargar.

La información más reciente y detallada sobre esta vulnerabilidad se puede consultar directamente en Spring. Publicación en el blog(incluye posibles correcciones o soluciones).

Vulnerabilidad 2: Función Spring Cloud (CVE-2022-22963)

El 27 de marzo de 2022, CyberKendra reveló detalles sobre una vulnerabilidad de ejecución remota de código (RCE) de día cero en Spring Cloud Functions para la que no existe ningún parche. A esta vulnerabilidad se le ha asignado el ID CVE-2022-22963: Vulnerabilidad de acceso a recursos de Spring Expression.

¿Qué aplicaciones están en peligro?

Esta vulnerabilidad afectó a la aplicación en las siguientes condiciones.

  • JDK 9 o superior
  • Versión 3.1.6 (o inferior), 3.2.2 (o inferior) o versiones no compatibles de Spring Cloud Functions.

¿Cómo se lleva a cabo la explotación?

La función Spring Cloud ofrece a los desarrolladores la capacidad de configurar la forma en que se procesa el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, que normalmente se realiza mediante la configuración o el código. Se trata de una potente función que admite el «lenguaje de expresiones Spring» (SpEL). Se ha descubierto que, a través de esta vulnerabilidad de día cero, es posible configurar esta propiedad mediante el encabezado HTTP de la solicitud. Esto significa que un atacante puede ejecutar código arbitrario incrustando código SeL directamente en una solicitud HTTP al punto final RoutingFunction.

¿Qué medidas deben tomar los usuarios para mitigar el riesgo?

Las versiones públicas 3.1.7 y 3.2.3 de Spring Haskell resuelven este problema mitigando la vulnerabilidad al impedir que se configure esta propiedad a través del encabezado HTTP. No se requieren pasos adicionales después de actualizar a cualquiera de estas dos versiones.

¿Desea obtener más información sobre cómo ayudar a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de codificación segura : Security Code Coach.

출처

Índice

Descargar PDF
Ver recursos
¿Le interesa saber más?

Más información

Secure Code Warrior está aquí para ayudar a las organizaciones a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura que priorice la ciberseguridad. Ya seas administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudarte a reducir los riesgos asociados al código inseguro en tu organización.

Reserva de demostraciónDescargar
Destinatarios:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos útiles para empezar

Más publicaciones
Centro de recursos

Recursos útiles para empezar

Más publicaciones