Iconos SCW
héroe bg sin separador
Blog

Nuevas vulnerabilidades en Spring: cómo saber si estás en peligro y qué hacer al respecto

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

Recientemente, Spring, 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 ayudarle a comprender más fácilmente si está expuesto a estas vulnerabilidades y qué medidas debe tomar, hemos desglosado la información conocida sobre «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 una vulnerabilidad en Spring Core (SC) que permitía la ejecución remota de código en todas las versiones de Spring Core, incluida la versión 5.3.17, recientemente publicada.

¿Qué aplicaciones están en riesgo?

Por el momento, solo se ha confirmado que las aplicaciones alojadas en Tomcat están expuestas a esta nueva vulnerabilidad. Aunque aún no se ha demostrado que los ataques contra el contenedor Tomcat Servlet integrado o cualquier otra aplicación no alojada en Tomcat hayan tenido éxito, esto no descarta la posibilidad de que estos marcos se utilicen con éxito en el futuro.

En primavera se publicó un comunicado oficial sobre esta vulnerabilidad. Según el conocimiento actual sobre la misma, se ha aclarado que para que se produzca un ataque deben cumplirse las siguientes condiciones:

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado en WAR tradicional (a diferencia del archivo jar ejecutable de Spring Boot).
  • Dependencias de Spring-webmvc o Spring-webflux
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona la vulnerabilidad «Spring4Shell»?

La vulnerabilidad depende del uso de «enlace de datos» (org.springframework.web.bind.Web.bind.WebDataBinder) en solicitudes que utilizan objetos Java comunes (POJO) en la firma del método:

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.

Cuando la solicitud se procesa mediante este método, el cargador de clases se utiliza para resolver la clase. El cargador de clases se encarga de cargar las clases en tiempo de ejecución, sin necesidad de precargar todos los tipos posibles en la memoria. Calcula qué archivo .jar debe cargarse cuando se utiliza una nueva clase.

Puede encontrar información actualizada y detallada sobre esta vulnerabilidad directamente en Spring, en una entradade blogque incluye posibles soluciones o alternativas.

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

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

¿Qué aplicaciones están en riesgo?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 o superior
  • Spring Cloud Functions versión 3.1.6 (o inferior), 3.2.2 (o inferior) o cualquier versión no compatible.

¿Cómo funciona la explotación?

Spring Cloud Function permite a los desarrolladores configurar cómo se procesa el enrutamiento mediante la propiedad spring.cloud.function.routing-expression, lo que normalmente se realiza mediante la configuración o el código. Se trata de una forma de aprovechar el potente lenguaje «Spring Expression Language» (SpEL). A través de esta vulnerabilidad de 0 días, hemos descubierto que esta propiedad se puede configurar mediante el encabezado HTTP de la solicitud, lo que significa que un atacante puede incrustar código SpEL directamente en la solicitud HTTP de su punto final RoutingFunction y, de este modo, ejecutar código arbitrario.

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

En primavera se publicaron las versiones 3.1.7 y 3.2.3, que solucionan este problema al no permitir la configuración de esta propiedad a través de la cabecera HTTP, lo que mitiga la vulnerabilidad. Tras actualizar a cualquiera de estas versiones, no es necesario realizar ningún otro paso.

¿Le interesa saber más sobre cómo ayudamos a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de programación segura, Security Code Coach.

Fuente de datos

Ver recursos
Ver recursos

Recientemente, Spring, 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). Hemos desglosado los detalles conocidos de «Spring4Shell» y «Spring Cloud Function» para ayudarle a comprender si se encuentra en peligro y qué hacer en caso de que exista riesgo.

¿Te interesa saber más?

Más información

Secure Code Warrior puede ayudar a su organización 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 usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

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

Compartir en:
marcas de LinkedInSocialx logotipo

Recientemente, Spring, 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 ayudarle a comprender más fácilmente si está expuesto a estas vulnerabilidades y qué medidas debe tomar, hemos desglosado la información conocida sobre «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 una vulnerabilidad en Spring Core (SC) que permitía la ejecución remota de código en todas las versiones de Spring Core, incluida la versión 5.3.17, recientemente publicada.

¿Qué aplicaciones están en riesgo?

Por el momento, solo se ha confirmado que las aplicaciones alojadas en Tomcat están expuestas a esta nueva vulnerabilidad. Aunque aún no se ha demostrado que los ataques contra el contenedor Tomcat Servlet integrado o cualquier otra aplicación no alojada en Tomcat hayan tenido éxito, esto no descarta la posibilidad de que estos marcos se utilicen con éxito en el futuro.

En primavera se publicó un comunicado oficial sobre esta vulnerabilidad. Según el conocimiento actual sobre la misma, se ha aclarado que para que se produzca un ataque deben cumplirse las siguientes condiciones:

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado en WAR tradicional (a diferencia del archivo jar ejecutable de Spring Boot).
  • Dependencias de Spring-webmvc o Spring-webflux
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona la vulnerabilidad «Spring4Shell»?

La vulnerabilidad depende del uso de «enlace de datos» (org.springframework.web.bind.Web.bind.WebDataBinder) en solicitudes que utilizan objetos Java comunes (POJO) en la firma del método:

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.

Cuando la solicitud se procesa mediante este método, el cargador de clases se utiliza para resolver la clase. El cargador de clases se encarga de cargar las clases en tiempo de ejecución, sin necesidad de precargar todos los tipos posibles en la memoria. Calcula qué archivo .jar debe cargarse cuando se utiliza una nueva clase.

Puede encontrar información actualizada y detallada sobre esta vulnerabilidad directamente en Spring, en una entradade blogque incluye posibles soluciones o alternativas.

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

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

¿Qué aplicaciones están en riesgo?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 o superior
  • Spring Cloud Functions versión 3.1.6 (o inferior), 3.2.2 (o inferior) o cualquier versión no compatible.

¿Cómo funciona la explotación?

Spring Cloud Function permite a los desarrolladores configurar cómo se procesa el enrutamiento mediante la propiedad spring.cloud.function.routing-expression, lo que normalmente se realiza mediante la configuración o el código. Se trata de una forma de aprovechar el potente lenguaje «Spring Expression Language» (SpEL). A través de esta vulnerabilidad de 0 días, hemos descubierto que esta propiedad se puede configurar mediante el encabezado HTTP de la solicitud, lo que significa que un atacante puede incrustar código SpEL directamente en la solicitud HTTP de su punto final RoutingFunction y, de este modo, ejecutar código arbitrario.

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

En primavera se publicaron las versiones 3.1.7 y 3.2.3, que solucionan este problema al no permitir la configuración de esta propiedad a través de la cabecera HTTP, lo que mitiga la vulnerabilidad. Tras actualizar a cualquiera de estas versiones, no es necesario realizar ningún otro paso.

¿Le interesa saber más sobre cómo ayudamos a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de programación segura, Security Code Coach.

Fuente de datos

Ver recursos
Ver recursos

Rellene el siguiente formulario para descargar el informe.

Nos gustaría obtener su permiso para enviarle información sobre nuestros productos y/o temas relacionados con la codificación de seguridad. Trataremos su información personal con el máximo cuidado y nunca la venderemos a otras empresas con fines comerciales.

Enviar
Icono de éxito de SCW
Icono de error scw
Para enviar el formulario, habilite las cookies de análisis. Una vez completado, puede desactivarlas nuevamente si lo desea.

Recientemente, Spring, 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 ayudarle a comprender más fácilmente si está expuesto a estas vulnerabilidades y qué medidas debe tomar, hemos desglosado la información conocida sobre «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 una vulnerabilidad en Spring Core (SC) que permitía la ejecución remota de código en todas las versiones de Spring Core, incluida la versión 5.3.17, recientemente publicada.

¿Qué aplicaciones están en riesgo?

Por el momento, solo se ha confirmado que las aplicaciones alojadas en Tomcat están expuestas a esta nueva vulnerabilidad. Aunque aún no se ha demostrado que los ataques contra el contenedor Tomcat Servlet integrado o cualquier otra aplicación no alojada en Tomcat hayan tenido éxito, esto no descarta la posibilidad de que estos marcos se utilicen con éxito en el futuro.

En primavera se publicó un comunicado oficial sobre esta vulnerabilidad. Según el conocimiento actual sobre la misma, se ha aclarado que para que se produzca un ataque deben cumplirse las siguientes condiciones:

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado en WAR tradicional (a diferencia del archivo jar ejecutable de Spring Boot).
  • Dependencias de Spring-webmvc o Spring-webflux
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona la vulnerabilidad «Spring4Shell»?

La vulnerabilidad depende del uso de «enlace de datos» (org.springframework.web.bind.Web.bind.WebDataBinder) en solicitudes que utilizan objetos Java comunes (POJO) en la firma del método:

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.

Cuando la solicitud se procesa mediante este método, el cargador de clases se utiliza para resolver la clase. El cargador de clases se encarga de cargar las clases en tiempo de ejecución, sin necesidad de precargar todos los tipos posibles en la memoria. Calcula qué archivo .jar debe cargarse cuando se utiliza una nueva clase.

Puede encontrar información actualizada y detallada sobre esta vulnerabilidad directamente en Spring, en una entradade blogque incluye posibles soluciones o alternativas.

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

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

¿Qué aplicaciones están en riesgo?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 o superior
  • Spring Cloud Functions versión 3.1.6 (o inferior), 3.2.2 (o inferior) o cualquier versión no compatible.

¿Cómo funciona la explotación?

Spring Cloud Function permite a los desarrolladores configurar cómo se procesa el enrutamiento mediante la propiedad spring.cloud.function.routing-expression, lo que normalmente se realiza mediante la configuración o el código. Se trata de una forma de aprovechar el potente lenguaje «Spring Expression Language» (SpEL). A través de esta vulnerabilidad de 0 días, hemos descubierto que esta propiedad se puede configurar mediante el encabezado HTTP de la solicitud, lo que significa que un atacante puede incrustar código SpEL directamente en la solicitud HTTP de su punto final RoutingFunction y, de este modo, ejecutar código arbitrario.

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

En primavera se publicaron las versiones 3.1.7 y 3.2.3, que solucionan este problema al no permitir la configuración de esta propiedad a través de la cabecera HTTP, lo que mitiga la vulnerabilidad. Tras actualizar a cualquiera de estas versiones, no es necesario realizar ningún otro paso.

¿Le interesa saber más sobre cómo ayudamos a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de programación segura, Security Code Coach.

Fuente de datos

Ver el seminario web
Empecemos.
Más información

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

Secure Code Warrior puede ayudar a su organización 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 usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Ver informeReservar una demostración
Ver recursos
Compartir en:
marcas de LinkedInSocialx logotipo
¿Te interesa saber más?

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

Compartir en:
marcas de LinkedInSocialx logotipo

Recientemente, Spring, 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 ayudarle a comprender más fácilmente si está expuesto a estas vulnerabilidades y qué medidas debe tomar, hemos desglosado la información conocida sobre «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 una vulnerabilidad en Spring Core (SC) que permitía la ejecución remota de código en todas las versiones de Spring Core, incluida la versión 5.3.17, recientemente publicada.

¿Qué aplicaciones están en riesgo?

Por el momento, solo se ha confirmado que las aplicaciones alojadas en Tomcat están expuestas a esta nueva vulnerabilidad. Aunque aún no se ha demostrado que los ataques contra el contenedor Tomcat Servlet integrado o cualquier otra aplicación no alojada en Tomcat hayan tenido éxito, esto no descarta la posibilidad de que estos marcos se utilicen con éxito en el futuro.

En primavera se publicó un comunicado oficial sobre esta vulnerabilidad. Según el conocimiento actual sobre la misma, se ha aclarado que para que se produzca un ataque deben cumplirse las siguientes condiciones:

  • JDK 9 o superior
  • Apache Tomcat como contenedor de servlets
  • Empaquetado en WAR tradicional (a diferencia del archivo jar ejecutable de Spring Boot).
  • Dependencias de Spring-webmvc o Spring-webflux
  • Spring Framework versiones 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 y versiones anteriores.

¿Cómo funciona la vulnerabilidad «Spring4Shell»?

La vulnerabilidad depende del uso de «enlace de datos» (org.springframework.web.bind.Web.bind.WebDataBinder) en solicitudes que utilizan objetos Java comunes (POJO) en la firma del método:

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.

Cuando la solicitud se procesa mediante este método, el cargador de clases se utiliza para resolver la clase. El cargador de clases se encarga de cargar las clases en tiempo de ejecución, sin necesidad de precargar todos los tipos posibles en la memoria. Calcula qué archivo .jar debe cargarse cuando se utiliza una nueva clase.

Puede encontrar información actualizada y detallada sobre esta vulnerabilidad directamente en Spring, en una entradade blogque incluye posibles soluciones o alternativas.

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

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

¿Qué aplicaciones están en riesgo?

该漏洞影响了以下条件下的应用程序:

  • JDK 9 o superior
  • Spring Cloud Functions versión 3.1.6 (o inferior), 3.2.2 (o inferior) o cualquier versión no compatible.

¿Cómo funciona la explotación?

Spring Cloud Function permite a los desarrolladores configurar cómo se procesa el enrutamiento mediante la propiedad spring.cloud.function.routing-expression, lo que normalmente se realiza mediante la configuración o el código. Se trata de una forma de aprovechar el potente lenguaje «Spring Expression Language» (SpEL). A través de esta vulnerabilidad de 0 días, hemos descubierto que esta propiedad se puede configurar mediante el encabezado HTTP de la solicitud, lo que significa que un atacante puede incrustar código SpEL directamente en la solicitud HTTP de su punto final RoutingFunction y, de este modo, ejecutar código arbitrario.

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

En primavera se publicaron las versiones 3.1.7 y 3.2.3, que solucionan este problema al no permitir la configuración de esta propiedad a través de la cabecera HTTP, lo que mitiga la vulnerabilidad. Tras actualizar a cualquiera de estas versiones, no es necesario realizar ningún otro paso.

¿Le interesa saber más sobre cómo ayudamos a los desarrolladores a escribir código más seguro?Reserve una demostración o consulte nuestra guía gratuita de programación segura, Security Code Coach.

Fuente de datos

Índice

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

Más información

Secure Code Warrior puede ayudar a su organización 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 usted responsable de seguridad de aplicaciones, desarrollador, director de seguridad de la información o cualquier otra persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados al código inseguro.

Reservar una demostraciónDescargar
Compartir en:
marcas de LinkedInSocialx logotipo
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones
Centro de recursos

Recursos para ayudarle a empezar

Más publicaciones