Nuevas vulnerabilidades en las bibliotecas de Spring: cómo saber si está en riesgo y qué hacer
Recientemente, las librerías Spring, una de las librerías más populares en la comunidad Java, revelaron 2 vulnerabilidades relacionadas con la Ejecución Remota de Código (RCE). Para facilitarte la comprensión de si estás en riesgo de alguna de las dos vulnerabilidades y qué acciones tomar, hemos desglosado 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 tweets que contenían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC) , que permite la ejecución remota de código para todas las versiones de Spring Core, incluida la versión más reciente, 5.3.17.
¿Qué aplicaciones están en peligro?
Actualmente, se ha confirmado que sólo las aplicaciones alojadas en Tomcat están en riesgo de sufrir este nuevo exploit. Aunque no se ha demostrado que el exploit tenga éxito contra el contenedor de servlets Embedded Tomcat, o cualquier otra aplicación no alojada en Tomcat, esto no descarta la posibilidad de que la amenaza tenga éxito en el futuro en estos marcos.
Spring ha publicado un comunicado oficial sobre la vulnerabilidad, en el que se aclara que se deben cumplir las siguientes condiciones para ser vulnerable, según el conocimiento actual de la vulnerabilidad:
- JDK 9 o superior
- Apache Tomcat como contenedor de Servlets
- Empaquetado como un WAR tradicional (en contraste con un jar ejecutable de Spring Boot)
- dependencia de spring-webmvc o spring-webflux
- Versiones de Spring Framework de la 5.3.0 a la 5.3.17, de la 5.2.0 a la 5.2.19 y versiones anteriores
¿Cómo funciona la explotación de "Spring4Shell"?
La explotación se basa en el uso de "Data Binding" (org.springframework.web.bind.WebDataBinder) en peticiones que hacen uso de Plain Old Java Objects (POJO) en la firma del método:

Donde la clase Foo es una clase POJO, que podría definirse como lo siguiente. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Cuando una solicitud es manejada por un método como este, el Cargador de Clases es usado para resolver la clase. El cargador de clases es responsable de cargar las clases en tiempo de ejecución, sin tener que precargar primero todos los tipos posibles en la memoria. Averigua qué archivo .jar debe cargarse cuando se utiliza una nueva clase.
Puedes encontrar la información más actualizada y detallada sobre esta vulnerabilidad directamente desde Spring en su blogpost, incluyendo posibles correcciones o soluciones.
Vulnerabilidad 2 - Función de Spring Cloud (CVE-2022-22963)
El 27 de marzo de 2022, Cyber Kendra reveló detalles sobre una vulnerabilidad de 0 días de ejecución remota de código (RCE) en las funciones de Spring Cloud para la que no existía ningún parche. A la vulnerabilidad se le asignó el ID CVE-2022-22963: Spring Expression Resource Access Vulnerability.
¿Qué aplicaciones están en peligro?
La vulnerabilidad afectaba a las aplicaciones en estas condiciones:
- JDK 9 o más reciente
- Funciones de Spring Cloud 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 proporciona la capacidad para que los desarrolladores configuren cómo se maneja el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, normalmente realizada a través de la configuración, o del código. Se trata de una potente capacidad que acepta el "Lenguaje de Expresión de Spring" (SpEL). A través de esta vulnerabilidad de día 0, hemos aprendido que esta propiedad podría establecerse a través de las cabeceras HTTP de una solicitud, lo que significa que un atacante podría incrustar código SpEL directamente en su solicitud HTTP a un punto final RoutingFunction, y así ejecutar código arbitrario.
¿Qué medidas deben tomar los usuarios para mitigar el riesgo?
Spring ha lanzado las versiones 3.1.7 y 3.2.3 para solucionar este problema al no permitir que esta propiedad se establezca a través de las cabeceras HTTP, mitigando la vulnerabilidad. Después de actualizar a cualquiera de las dos versiones, no es necesario realizar ningún paso adicional.
¿Está interesado en saber más sobre cómo ayudamos a los desarrolladores a escribir un código más seguro? Reserve una demostración o explore nuestras directrices de codificación segura gratuitas en secure code coach.
Fuentes
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/


Recientemente, las librerías Spring, una de las más populares en la comunidad Java, han revelado 2 vulnerabilidades relacionadas con la ejecución remota de código (RCE). Hemos desglosado los detalles conocidos de "Spring4Shell" y "Spring Cloud Function" para ayudarte a entender si estás en riesgo y qué hacer si lo estás.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostración

Recientemente, las librerías Spring, una de las librerías más populares en la comunidad Java, revelaron 2 vulnerabilidades relacionadas con la Ejecución Remota de Código (RCE). Para facilitarte la comprensión de si estás en riesgo de alguna de las dos vulnerabilidades y qué acciones tomar, hemos desglosado 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 tweets que contenían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC) , que permite la ejecución remota de código para todas las versiones de Spring Core, incluida la versión más reciente, 5.3.17.
¿Qué aplicaciones están en peligro?
Actualmente, se ha confirmado que sólo las aplicaciones alojadas en Tomcat están en riesgo de sufrir este nuevo exploit. Aunque no se ha demostrado que el exploit tenga éxito contra el contenedor de servlets Embedded Tomcat, o cualquier otra aplicación no alojada en Tomcat, esto no descarta la posibilidad de que la amenaza tenga éxito en el futuro en estos marcos.
Spring ha publicado un comunicado oficial sobre la vulnerabilidad, en el que se aclara que se deben cumplir las siguientes condiciones para ser vulnerable, según el conocimiento actual de la vulnerabilidad:
- JDK 9 o superior
- Apache Tomcat como contenedor de Servlets
- Empaquetado como un WAR tradicional (en contraste con un jar ejecutable de Spring Boot)
- dependencia de spring-webmvc o spring-webflux
- Versiones de Spring Framework de la 5.3.0 a la 5.3.17, de la 5.2.0 a la 5.2.19 y versiones anteriores
¿Cómo funciona la explotación de "Spring4Shell"?
La explotación se basa en el uso de "Data Binding" (org.springframework.web.bind.WebDataBinder) en peticiones que hacen uso de Plain Old Java Objects (POJO) en la firma del método:

Donde la clase Foo es una clase POJO, que podría definirse como lo siguiente. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Cuando una solicitud es manejada por un método como este, el Cargador de Clases es usado para resolver la clase. El cargador de clases es responsable de cargar las clases en tiempo de ejecución, sin tener que precargar primero todos los tipos posibles en la memoria. Averigua qué archivo .jar debe cargarse cuando se utiliza una nueva clase.
Puedes encontrar la información más actualizada y detallada sobre esta vulnerabilidad directamente desde Spring en su blogpost, incluyendo posibles correcciones o soluciones.
Vulnerabilidad 2 - Función de Spring Cloud (CVE-2022-22963)
El 27 de marzo de 2022, Cyber Kendra reveló detalles sobre una vulnerabilidad de 0 días de ejecución remota de código (RCE) en las funciones de Spring Cloud para la que no existía ningún parche. A la vulnerabilidad se le asignó el ID CVE-2022-22963: Spring Expression Resource Access Vulnerability.
¿Qué aplicaciones están en peligro?
La vulnerabilidad afectaba a las aplicaciones en estas condiciones:
- JDK 9 o más reciente
- Funciones de Spring Cloud 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 proporciona la capacidad para que los desarrolladores configuren cómo se maneja el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, normalmente realizada a través de la configuración, o del código. Se trata de una potente capacidad que acepta el "Lenguaje de Expresión de Spring" (SpEL). A través de esta vulnerabilidad de día 0, hemos aprendido que esta propiedad podría establecerse a través de las cabeceras HTTP de una solicitud, lo que significa que un atacante podría incrustar código SpEL directamente en su solicitud HTTP a un punto final RoutingFunction, y así ejecutar código arbitrario.
¿Qué medidas deben tomar los usuarios para mitigar el riesgo?
Spring ha lanzado las versiones 3.1.7 y 3.2.3 para solucionar este problema al no permitir que esta propiedad se establezca a través de las cabeceras HTTP, mitigando la vulnerabilidad. Después de actualizar a cualquiera de las dos versiones, no es necesario realizar ningún paso adicional.
¿Está interesado en saber más sobre cómo ayudamos a los desarrolladores a escribir un código más seguro? Reserve una demostración o explore nuestras directrices de codificación segura gratuitas en secure code coach.
Fuentes
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/

Recientemente, las librerías Spring, una de las librerías más populares en la comunidad Java, revelaron 2 vulnerabilidades relacionadas con la Ejecución Remota de Código (RCE). Para facilitarte la comprensión de si estás en riesgo de alguna de las dos vulnerabilidades y qué acciones tomar, hemos desglosado 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 tweets que contenían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC) , que permite la ejecución remota de código para todas las versiones de Spring Core, incluida la versión más reciente, 5.3.17.
¿Qué aplicaciones están en peligro?
Actualmente, se ha confirmado que sólo las aplicaciones alojadas en Tomcat están en riesgo de sufrir este nuevo exploit. Aunque no se ha demostrado que el exploit tenga éxito contra el contenedor de servlets Embedded Tomcat, o cualquier otra aplicación no alojada en Tomcat, esto no descarta la posibilidad de que la amenaza tenga éxito en el futuro en estos marcos.
Spring ha publicado un comunicado oficial sobre la vulnerabilidad, en el que se aclara que se deben cumplir las siguientes condiciones para ser vulnerable, según el conocimiento actual de la vulnerabilidad:
- JDK 9 o superior
- Apache Tomcat como contenedor de Servlets
- Empaquetado como un WAR tradicional (en contraste con un jar ejecutable de Spring Boot)
- dependencia de spring-webmvc o spring-webflux
- Versiones de Spring Framework de la 5.3.0 a la 5.3.17, de la 5.2.0 a la 5.2.19 y versiones anteriores
¿Cómo funciona la explotación de "Spring4Shell"?
La explotación se basa en el uso de "Data Binding" (org.springframework.web.bind.WebDataBinder) en peticiones que hacen uso de Plain Old Java Objects (POJO) en la firma del método:

Donde la clase Foo es una clase POJO, que podría definirse como lo siguiente. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Cuando una solicitud es manejada por un método como este, el Cargador de Clases es usado para resolver la clase. El cargador de clases es responsable de cargar las clases en tiempo de ejecución, sin tener que precargar primero todos los tipos posibles en la memoria. Averigua qué archivo .jar debe cargarse cuando se utiliza una nueva clase.
Puedes encontrar la información más actualizada y detallada sobre esta vulnerabilidad directamente desde Spring en su blogpost, incluyendo posibles correcciones o soluciones.
Vulnerabilidad 2 - Función de Spring Cloud (CVE-2022-22963)
El 27 de marzo de 2022, Cyber Kendra reveló detalles sobre una vulnerabilidad de 0 días de ejecución remota de código (RCE) en las funciones de Spring Cloud para la que no existía ningún parche. A la vulnerabilidad se le asignó el ID CVE-2022-22963: Spring Expression Resource Access Vulnerability.
¿Qué aplicaciones están en peligro?
La vulnerabilidad afectaba a las aplicaciones en estas condiciones:
- JDK 9 o más reciente
- Funciones de Spring Cloud 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 proporciona la capacidad para que los desarrolladores configuren cómo se maneja el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, normalmente realizada a través de la configuración, o del código. Se trata de una potente capacidad que acepta el "Lenguaje de Expresión de Spring" (SpEL). A través de esta vulnerabilidad de día 0, hemos aprendido que esta propiedad podría establecerse a través de las cabeceras HTTP de una solicitud, lo que significa que un atacante podría incrustar código SpEL directamente en su solicitud HTTP a un punto final RoutingFunction, y así ejecutar código arbitrario.
¿Qué medidas deben tomar los usuarios para mitigar el riesgo?
Spring ha lanzado las versiones 3.1.7 y 3.2.3 para solucionar este problema al no permitir que esta propiedad se establezca a través de las cabeceras HTTP, mitigando la vulnerabilidad. Después de actualizar a cualquiera de las dos versiones, no es necesario realizar ningún paso adicional.
¿Está interesado en saber más sobre cómo ayudamos a los desarrolladores a escribir un código más seguro? Reserve una demostración o explore nuestras directrices de codificación segura gratuitas en secure code coach.
Fuentes
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónRecientemente, las librerías Spring, una de las librerías más populares en la comunidad Java, revelaron 2 vulnerabilidades relacionadas con la Ejecución Remota de Código (RCE). Para facilitarte la comprensión de si estás en riesgo de alguna de las dos vulnerabilidades y qué acciones tomar, hemos desglosado 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 tweets que contenían capturas de pantalla de una prueba de concepto de un exploit dirigido a Spring Core (SC) , que permite la ejecución remota de código para todas las versiones de Spring Core, incluida la versión más reciente, 5.3.17.
¿Qué aplicaciones están en peligro?
Actualmente, se ha confirmado que sólo las aplicaciones alojadas en Tomcat están en riesgo de sufrir este nuevo exploit. Aunque no se ha demostrado que el exploit tenga éxito contra el contenedor de servlets Embedded Tomcat, o cualquier otra aplicación no alojada en Tomcat, esto no descarta la posibilidad de que la amenaza tenga éxito en el futuro en estos marcos.
Spring ha publicado un comunicado oficial sobre la vulnerabilidad, en el que se aclara que se deben cumplir las siguientes condiciones para ser vulnerable, según el conocimiento actual de la vulnerabilidad:
- JDK 9 o superior
- Apache Tomcat como contenedor de Servlets
- Empaquetado como un WAR tradicional (en contraste con un jar ejecutable de Spring Boot)
- dependencia de spring-webmvc o spring-webflux
- Versiones de Spring Framework de la 5.3.0 a la 5.3.17, de la 5.2.0 a la 5.2.19 y versiones anteriores
¿Cómo funciona la explotación de "Spring4Shell"?
La explotación se basa en el uso de "Data Binding" (org.springframework.web.bind.WebDataBinder) en peticiones que hacen uso de Plain Old Java Objects (POJO) en la firma del método:

Donde la clase Foo es una clase POJO, que podría definirse como lo siguiente. Tenga en cuenta que la clase real no es importante, siempre y cuando sea cargada por el cargador de clases.

Cuando una solicitud es manejada por un método como este, el Cargador de Clases es usado para resolver la clase. El cargador de clases es responsable de cargar las clases en tiempo de ejecución, sin tener que precargar primero todos los tipos posibles en la memoria. Averigua qué archivo .jar debe cargarse cuando se utiliza una nueva clase.
Puedes encontrar la información más actualizada y detallada sobre esta vulnerabilidad directamente desde Spring en su blogpost, incluyendo posibles correcciones o soluciones.
Vulnerabilidad 2 - Función de Spring Cloud (CVE-2022-22963)
El 27 de marzo de 2022, Cyber Kendra reveló detalles sobre una vulnerabilidad de 0 días de ejecución remota de código (RCE) en las funciones de Spring Cloud para la que no existía ningún parche. A la vulnerabilidad se le asignó el ID CVE-2022-22963: Spring Expression Resource Access Vulnerability.
¿Qué aplicaciones están en peligro?
La vulnerabilidad afectaba a las aplicaciones en estas condiciones:
- JDK 9 o más reciente
- Funciones de Spring Cloud 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 proporciona la capacidad para que los desarrolladores configuren cómo se maneja el enrutamiento a través de la propiedad spring.cloud.function.routing-expression, normalmente realizada a través de la configuración, o del código. Se trata de una potente capacidad que acepta el "Lenguaje de Expresión de Spring" (SpEL). A través de esta vulnerabilidad de día 0, hemos aprendido que esta propiedad podría establecerse a través de las cabeceras HTTP de una solicitud, lo que significa que un atacante podría incrustar código SpEL directamente en su solicitud HTTP a un punto final RoutingFunction, y así ejecutar código arbitrario.
¿Qué medidas deben tomar los usuarios para mitigar el riesgo?
Spring ha lanzado las versiones 3.1.7 y 3.2.3 para solucionar este problema al no permitir que esta propiedad se establezca a través de las cabeceras HTTP, mitigando la vulnerabilidad. Después de actualizar a cualquiera de las dos versiones, no es necesario realizar ningún paso adicional.
¿Está interesado en saber más sobre cómo ayudamos a los desarrolladores a escribir un código más seguro? Reserve una demostración o explore nuestras directrices de codificación segura gratuitas en secure code coach.
Fuentes
- https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
- https://www.rapid7.com/blog/post/2022/03/30/spring4shell-zero-day-vulnerability-in-spring-framework/
Índice

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Panorama de la gestión de riesgos de los promotores
La gestión de riesgos del desarrollador es un enfoque holístico y proactivo de la seguridad de las aplicaciones, centrado en quienes contribuyen al código y no en los bits y bytes de la propia capa de la aplicación.
Seguridad desde el diseño: Definición de las mejores prácticas, capacitación de los desarrolladores y evaluación comparativa de los resultados de la seguridad preventiva
En este documento de investigación, los cofundadores Secure Code Warrior , Pieter Danhieux y el Dr. Matias Madou, Ph.D., junto con los expertos colaboradores, Chris Inglis, ex Director Nacional Cibernético de EE.UU. (ahora Asesor Estratégico de Paladin Capital Group), y Devin Lynch, Director Senior, Paladin Global Institute, revelarán los hallazgos clave de más de veinte entrevistas en profundidad con líderes de seguridad empresarial, incluyendo CISOs, un VP de Seguridad de Aplicaciones y profesionales de seguridad de software.
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
Encontrar datos significativos sobre el éxito de las iniciativas Secure-by-Design es notoriamente difícil. Los responsables de la seguridad de la información se enfrentan a menudo al reto de demostrar el rendimiento de la inversión (ROI) y el valor empresarial de las actividades de los programas de seguridad, tanto a nivel de las personas como de la empresa. Por no mencionar que a las empresas les resulta especialmente difícil obtener información sobre cómo se comparan sus organizaciones con los estándares actuales del sector. La Estrategia Nacional de Ciberseguridad del Presidente desafió a las partes interesadas a "adoptar la seguridad y la resiliencia desde el diseño". La clave para que las iniciativas de seguridad por diseño funcionen no es sólo dotar a los desarrolladores de las habilidades necesarias para garantizar un código seguro, sino también garantizar a los reguladores que esas habilidades están en su lugar. En esta presentación, compartimos una miríada de datos cualitativos y cuantitativos, derivados de múltiples fuentes primarias, incluidos puntos de datos internos recogidos de más de 250.000 desarrolladores, opiniones de clientes basadas en datos y estudios públicos. Aprovechando esta agregación de puntos de datos, pretendemos comunicar una visión del estado actual de las iniciativas Secure-by-Design en múltiples verticales. El informe detalla por qué este espacio está actualmente infrautilizado, el impacto significativo que un programa de mejora de las competencias puede tener en la mitigación de los riesgos de ciberseguridad y el potencial para eliminar categorías de vulnerabilidades de un código base.
Servicios profesionales - Acelerar con experiencia
El equipo de servicios de estrategia de programas (PSS) de Secure Code Warriorle ayuda a crear, mejorar y optimizar su programa de codificación segura. Tanto si empieza de cero como si está perfeccionando su enfoque, nuestros expertos le proporcionarán orientación personalizada.
Recursos para empezar
Revelado: Cómo define el sector cibernético la seguridad por diseño
En nuestro último libro blanco, nuestros cofundadores, Pieter Danhieux y el doctor Matias Madou, se sentaron con más de veinte líderes de seguridad empresarial, incluidos CISO, líderes de AppSec y profesionales de la seguridad, para averiguar las piezas clave de este rompecabezas y descubrir la realidad detrás del movimiento Secure by Design. Se trata de una ambición compartida por todos los equipos de seguridad, pero no de un libro de jugadas compartido.
¿Vibe Coding va a convertir tu código en una fiesta de fraternidad?
Vibe Coding es como una fiesta de fraternidad universitaria, y la IA es la pieza central de todos los festejos, el barril. Es muy divertido dar rienda suelta a la creatividad y ver adónde te lleva tu imaginación, pero después de unas cuantas borracheras, beber (o usar IA) con moderación es, sin duda, la solución más segura a largo plazo.