Iconos SCW
héroe bg sin separador
Blog

Nueva vulnerabilidad en la biblioteca Spring: cómo saber si está en peligro y cómo solucionarlo

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

Recientemente, la biblioteca Spring, una de las más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para ayudar a comprender si se está expuesto a alguna de estas vulnerabilidades y qué medidas se deben tomar, hemos clasificado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1: «Spring4Shell» (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 5.3.17, lanzada recientemente.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat están expuestas a este nuevo exploit. Aunque no se ha confirmado el éxito de su uso en el contenedor de servlets Tomcat integrado ni en otras aplicaciones alojadas fuera de Tomcat, no se puede descartar la posibilidad de que esta amenaza afecte a estos marcos en el futuro.

Declaración oficial de Spring sobre vulnerabilidades. Según el conocimiento actual sobre vulnerabilidades, se ha determinado que para que exista una vulnerabilidad deben cumplirse las siguientes condiciones.

  • JDK 9 o posterior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado como WAR tradicional (en contraste con el archivo jar ejecutable de Spring Boot).
  • Spring Web MVC o Spring Web Flux Dependencias
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona el exploit «Spring4Shell»?

Este abuso depende del uso de «enlace de datos» (org.springFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java simples y 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, siempre que se cargue mediante el cargador de clases, la clase real no es importante.

Cuando se procesa una solicitud con este método, se resuelve la clase utilizando el cargador de clases. El cargador de clases carga las clases en tiempo de ejecución sin necesidad de precargar en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, se determina qué archivo .jar se debe leer.

La información más reciente y detallada sobre esta vulnerabilidad se puede obtener directamente de Spring. La entrada del blogincluye posibles soluciones o medidas evasivas.

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 versiones posteriores
  • Spring Cloud Functions versión 3.1.6 (o anterior), 3.2.2 (o inferior) o versiones no compatibles.

¿Cómo funciona el mecanismo de explotación?

En Spring Cloud Function, los desarrolladores pueden configurar el método de procesamiento de enrutamiento utilizando la propiedad spring.cloud.function.routing-expression. Normalmente, esto 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). Esta vulnerabilidad de día cero ha revelado que esta propiedad se puede configurar a través del encabezado HTTP de la solicitud. Esto significa que un atacante puede incrustar código SpL directamente en una solicitud HTTP al punto final RoutingFunction y ejecutar cualquier código.

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

En primavera, las versiones 3.1.7 y 3.2.3 liberadas abordan este problema y reducen la vulnerabilidad al impedir que esta propiedad se configure a través del encabezado HTTP. No es necesario realizar ningún procedimiento adicional después de actualizar a cualquiera de estas 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 las directrices de codificación segura gratuitas en Secure Code Coach.

Fuente de información

Ver recursos
Ver recursos

Recientemente, la biblioteca Spring, una de las más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Hemos clasificado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function» para facilitar la comprensión de si se está expuesto al riesgo y, en caso afirmativo, cómo abordarlo.

¿Le interesa más?

Más información

Secure Code Warrior le ayuda a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es gestor de seguridad de aplicaciones, desarrollador, CISO o responsable de seguridad, le ayudamos a reducir los riesgos asociados al código inseguro.

Reservar una demostración
Compartir:
marcas de LinkedInSocialx logotipo
Autor
Charlie Eriksen
Publicado el 01 de abril de 2022

Compartir:
marcas de LinkedInSocialx logotipo

Recientemente, la biblioteca Spring, una de las más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para ayudar a comprender si se está expuesto a alguna de estas vulnerabilidades y qué medidas se deben tomar, hemos clasificado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1: «Spring4Shell» (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 5.3.17, lanzada recientemente.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat están expuestas a este nuevo exploit. Aunque no se ha confirmado el éxito de su uso en el contenedor de servlets Tomcat integrado ni en otras aplicaciones alojadas fuera de Tomcat, no se puede descartar la posibilidad de que esta amenaza afecte a estos marcos en el futuro.

Declaración oficial de Spring sobre vulnerabilidades. Según el conocimiento actual sobre vulnerabilidades, se ha determinado que para que exista una vulnerabilidad deben cumplirse las siguientes condiciones.

  • JDK 9 o posterior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado como WAR tradicional (en contraste con el archivo jar ejecutable de Spring Boot).
  • Spring Web MVC o Spring Web Flux Dependencias
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona el exploit «Spring4Shell»?

Este abuso depende del uso de «enlace de datos» (org.springFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java simples y 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, siempre que se cargue mediante el cargador de clases, la clase real no es importante.

Cuando se procesa una solicitud con este método, se resuelve la clase utilizando el cargador de clases. El cargador de clases carga las clases en tiempo de ejecución sin necesidad de precargar en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, se determina qué archivo .jar se debe leer.

La información más reciente y detallada sobre esta vulnerabilidad se puede obtener directamente de Spring. La entrada del blogincluye posibles soluciones o medidas evasivas.

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 versiones posteriores
  • Spring Cloud Functions versión 3.1.6 (o anterior), 3.2.2 (o inferior) o versiones no compatibles.

¿Cómo funciona el mecanismo de explotación?

En Spring Cloud Function, los desarrolladores pueden configurar el método de procesamiento de enrutamiento utilizando la propiedad spring.cloud.function.routing-expression. Normalmente, esto 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). Esta vulnerabilidad de día cero ha revelado que esta propiedad se puede configurar a través del encabezado HTTP de la solicitud. Esto significa que un atacante puede incrustar código SpL directamente en una solicitud HTTP al punto final RoutingFunction y ejecutar cualquier código.

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

En primavera, las versiones 3.1.7 y 3.2.3 liberadas abordan este problema y reducen la vulnerabilidad al impedir que esta propiedad se configure a través del encabezado HTTP. No es necesario realizar ningún procedimiento adicional después de actualizar a cualquiera de estas 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 las directrices de codificación segura gratuitas en Secure Code Coach.

Fuente de información

Ver recursos
Ver recursos

Para descargar el informe, rellene el siguiente formulario.

Solicitamos su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación segura. Tratamos su información personal con el máximo cuidado en todo momento 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, habilite las cookies de «Analytics». Una vez completada la configuración, puede volver a deshabilitarlas.

Recientemente, la biblioteca Spring, una de las más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para ayudar a comprender si se está expuesto a alguna de estas vulnerabilidades y qué medidas se deben tomar, hemos clasificado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1: «Spring4Shell» (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 5.3.17, lanzada recientemente.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat están expuestas a este nuevo exploit. Aunque no se ha confirmado el éxito de su uso en el contenedor de servlets Tomcat integrado ni en otras aplicaciones alojadas fuera de Tomcat, no se puede descartar la posibilidad de que esta amenaza afecte a estos marcos en el futuro.

Declaración oficial de Spring sobre vulnerabilidades. Según el conocimiento actual sobre vulnerabilidades, se ha determinado que para que exista una vulnerabilidad deben cumplirse las siguientes condiciones.

  • JDK 9 o posterior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado como WAR tradicional (en contraste con el archivo jar ejecutable de Spring Boot).
  • Spring Web MVC o Spring Web Flux Dependencias
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona el exploit «Spring4Shell»?

Este abuso depende del uso de «enlace de datos» (org.springFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java simples y 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, siempre que se cargue mediante el cargador de clases, la clase real no es importante.

Cuando se procesa una solicitud con este método, se resuelve la clase utilizando el cargador de clases. El cargador de clases carga las clases en tiempo de ejecución sin necesidad de precargar en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, se determina qué archivo .jar se debe leer.

La información más reciente y detallada sobre esta vulnerabilidad se puede obtener directamente de Spring. La entrada del blogincluye posibles soluciones o medidas evasivas.

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 versiones posteriores
  • Spring Cloud Functions versión 3.1.6 (o anterior), 3.2.2 (o inferior) o versiones no compatibles.

¿Cómo funciona el mecanismo de explotación?

En Spring Cloud Function, los desarrolladores pueden configurar el método de procesamiento de enrutamiento utilizando la propiedad spring.cloud.function.routing-expression. Normalmente, esto 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). Esta vulnerabilidad de día cero ha revelado que esta propiedad se puede configurar a través del encabezado HTTP de la solicitud. Esto significa que un atacante puede incrustar código SpL directamente en una solicitud HTTP al punto final RoutingFunction y ejecutar cualquier código.

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

En primavera, las versiones 3.1.7 y 3.2.3 liberadas abordan este problema y reducen la vulnerabilidad al impedir que esta propiedad se configure a través del encabezado HTTP. No es necesario realizar ningún procedimiento adicional después de actualizar a cualquiera de estas 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 las directrices de codificación segura gratuitas en Secure Code Coach.

Fuente de información

Ver seminario en línea
Comencemos
Más información

Haga clic en el siguiente enlace para descargar el PDF de este recurso.

Secure Code Warrior le ayuda a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es gestor de seguridad de aplicaciones, desarrollador, CISO o responsable de seguridad, le ayudamos a reducir los riesgos asociados al código inseguro.

Mostrar informeReservar una demostración
Ver recursos
Compartir:
marcas de LinkedInSocialx logotipo
¿Le interesa más?

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

Compartir:
marcas de LinkedInSocialx logotipo

Recientemente, la biblioteca Spring, una de las más populares de la comunidad Java, ha revelado dos vulnerabilidades relacionadas con la ejecución remota de código (RCE). Para ayudar a comprender si se está expuesto a alguna de estas vulnerabilidades y qué medidas se deben tomar, hemos clasificado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function».

Vulnerabilidad 1: «Spring4Shell» (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 5.3.17, lanzada recientemente.

¿Qué aplicaciones están en peligro?

Actualmente, solo las aplicaciones alojadas en Tomcat están expuestas a este nuevo exploit. Aunque no se ha confirmado el éxito de su uso en el contenedor de servlets Tomcat integrado ni en otras aplicaciones alojadas fuera de Tomcat, no se puede descartar la posibilidad de que esta amenaza afecte a estos marcos en el futuro.

Declaración oficial de Spring sobre vulnerabilidades. Según el conocimiento actual sobre vulnerabilidades, se ha determinado que para que exista una vulnerabilidad deben cumplirse las siguientes condiciones.

  • JDK 9 o posterior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado como WAR tradicional (en contraste con el archivo jar ejecutable de Spring Boot).
  • Spring Web MVC o Spring Web Flux Dependencias
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona el exploit «Spring4Shell»?

Este abuso depende del uso de «enlace de datos» (org.springFramework.web.bind.WebDataBinder) en solicitudes que utilizan objetos Java simples y 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, siempre que se cargue mediante el cargador de clases, la clase real no es importante.

Cuando se procesa una solicitud con este método, se resuelve la clase utilizando el cargador de clases. El cargador de clases carga las clases en tiempo de ejecución sin necesidad de precargar en memoria todos los tipos posibles. Cuando se utiliza una nueva clase, se determina qué archivo .jar se debe leer.

La información más reciente y detallada sobre esta vulnerabilidad se puede obtener directamente de Spring. La entrada del blogincluye posibles soluciones o medidas evasivas.

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 versiones posteriores
  • Spring Cloud Functions versión 3.1.6 (o anterior), 3.2.2 (o inferior) o versiones no compatibles.

¿Cómo funciona el mecanismo de explotación?

En Spring Cloud Function, los desarrolladores pueden configurar el método de procesamiento de enrutamiento utilizando la propiedad spring.cloud.function.routing-expression. Normalmente, esto 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). Esta vulnerabilidad de día cero ha revelado que esta propiedad se puede configurar a través del encabezado HTTP de la solicitud. Esto significa que un atacante puede incrustar código SpL directamente en una solicitud HTTP al punto final RoutingFunction y ejecutar cualquier código.

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

En primavera, las versiones 3.1.7 y 3.2.3 liberadas abordan este problema y reducen la vulnerabilidad al impedir que esta propiedad se configure a través del encabezado HTTP. No es necesario realizar ningún procedimiento adicional después de actualizar a cualquiera de estas 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 las directrices de codificación segura gratuitas en Secure Code Coach.

Fuente de información

Índice

Descargar PDF
Ver recursos
¿Le interesa más?

Más información

Secure Code Warrior le ayuda a proteger el código a lo largo de todo el ciclo de vida del desarrollo de software y a crear una cultura que dé prioridad a la ciberseguridad. Tanto si es gestor de seguridad de aplicaciones, desarrollador, CISO o responsable de seguridad, le ayudamos a reducir los riesgos asociados al código inseguro.

Reservar una demostración[Descargar]
Compartir:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para empezar

Otras publicaciones
Centro de recursos

Recursos para empezar

Otras publicaciones