
Nouvelle vulnérabilité dans la bibliothèque Spring : comment déterminer si vous êtes exposé et comment y remédier
La bibliothèque Spring, l'une des bibliothèques les plus populaires de la communauté Java, a récemment révélé deux vulnérabilités liées à l'exécution de code à distance (RCE). Afin de faciliter la compréhension des risques liés à ces vulnérabilités et des mesures à prendre, nous avons classé les informations connues concernant « Spring4Shell » et « Spring Cloud Function ».
Vulnérabilité 1 - « Spring 4 Shell » (CVE-2022-22965)
Le 29 mars 2022, la communauté a identifié une série de tweets contenant des captures d'écran de preuves de concept d'exploits visant Spring Core (SC). Ces exploits permettent l'exécution de code à distance sur toutes les versions de Spring Core, y compris la dernière version 5.3.17.
Quelles applications sont menacées ?
À l'heure actuelle, seules les applications hébergées sur Tomcat ont été identifiées comme étant exposées à ce nouveau risque d'exploitation. Bien qu'aucune attaque n'ait été confirmée sur les conteneurs de servlets Tomcat intégrés ou sur d'autres applications non hébergées sur Tomcat, il est important de noter que cela ne signifie pas pour autant qu'une menace visant ces frameworks ne pourrait pas réussir à l'avenir.
Déclaration officielle de lancement de Spring. Conformément à notre compréhension actuelle de la vulnérabilité, nous expliquons la vulnérabilité en précisant qu'elle doit remplir les conditions suivantes pour être considérée comme telle.
- JDK 9 ou supérieur
- Apache Tomcat en tant que conteneur de servlets
- Empaqueté avec WAR existant (par opposition au fichier jar exécutable Spring Boot)
- Dépendances Spring-webmvc ou Spring-webflux
- Spring Framework versions 5.3.0 à 5.3.17, 5.2.0 à 5.2.19 et versions antérieures
Comment fonctionne l'exploit « Spring4Shell » ?
L'exploitation repose sur l'utilisation de la « liaison de données » (org.SpringFramework.web.bind.WebDataBinder) dans les requêtes utilisant des objets Java simples (POJO) dans la signature de la méthode.

Ici, la classe Foo est une classe POJO et peut être définie comme suit. Veuillez noter que la classe réelle n'a pas d'importance tant qu'elle est chargée par le chargeur de classes.

Lorsqu'une requête est traitée à l'aide de cette méthode, le chargeur de classes est utilisé pour résoudre les classes. Le chargeur de classes permet de charger les classes au moment de l'exécution, sans avoir à précharger tous les types possibles en mémoire. Il identifie le fichier .jar à charger lors de l'utilisation d'une nouvelle classe.
Les informations les plus récentes et détaillées concernant cette vulnérabilité sont disponibles directement auprès de Spring. Article de blog(y compris les corrections ou solutions potentielles)
Vulnérabilité 2 - Fonction Spring Cloud (CVE-2022-22963)
Le 27 mars 2022, CyberKendra a publié des informations détaillées concernant une vulnérabilité d'exécution de code à distance (RCE) de type « zero-day » dans Spring Cloud Functions, pour laquelle aucun correctif n'existe. Cette vulnérabilité a reçu l'identifiant CVE-2022-22963 : Vulnérabilité d'accès aux ressources Spring Expression.
Quelles applications sont menacées ?
Cette vulnérabilité a affecté l'application dans les conditions suivantes.
- JDK 9 ou supérieur
- Spring Cloud Functions version 3.1.6 (ou antérieure), 3.2.2 (ou antérieure) ou toute autre version non prise en charge
Comment l'exploitation est-elle mise en œuvre ?
La fonction Spring Cloud permet aux développeurs de configurer la manière dont le routage est géré via la propriété spring.cloud.function.routing-expression, généralement effectuée via la configuration ou le code. Il s'agit d'une fonctionnalité puissante qui accepte le langage d'expression Spring (SpEL). Nous avons découvert qu'il était possible de définir cette propriété via l'en-tête HTTP de la requête, ce qui constitue une vulnérabilité de type « zero-day ». En d'autres termes, un attaquant peut exécuter du code arbitraire en intégrant directement du code SpEL dans une requête HTTP adressée au point de terminaison RoutingFunction.
Quelles mesures les utilisateurs doivent-ils prendre pour atténuer les risques ?
Les versions publiques 3.1.7 et 3.2.3 de Spring Haskell résolvent ce problème en désactivant la possibilité de définir cette propriété via l'en-tête HTTP, ce qui atténue la vulnérabilité. Aucune action supplémentaire n'est requise après la mise à niveau vers l'une de ces deux versions.
Souhaitez-vous en savoir plus sur la manière dont nous aidons les développeurs à écrire un code plus sécurisé ?Veuillez prendre rendez-vous pour une démonstration ou consulter notre guide gratuit sur les pratiques de codage sécurisé, le Security Code Coach.
Source
- 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/


La bibliothèque Spring, l'une des bibliothèques les plus populaires de la communauté Java, a récemment révélé deux vulnérabilités liées à l'exécution de code à distance (RCE). Les détails connus sur « Spring4Shell » et « Spring Cloud Function » sont présentés de manière détaillée afin de vous aider à comprendre si vous êtes exposé à un risque et, le cas échéant, comment y remédier.

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.

La bibliothèque Spring, l'une des bibliothèques les plus populaires de la communauté Java, a récemment révélé deux vulnérabilités liées à l'exécution de code à distance (RCE). Afin de faciliter la compréhension des risques liés à ces vulnérabilités et des mesures à prendre, nous avons classé les informations connues concernant « Spring4Shell » et « Spring Cloud Function ».
Vulnérabilité 1 - « Spring 4 Shell » (CVE-2022-22965)
Le 29 mars 2022, la communauté a identifié une série de tweets contenant des captures d'écran de preuves de concept d'exploits visant Spring Core (SC). Ces exploits permettent l'exécution de code à distance sur toutes les versions de Spring Core, y compris la dernière version 5.3.17.
Quelles applications sont menacées ?
À l'heure actuelle, seules les applications hébergées sur Tomcat ont été identifiées comme étant exposées à ce nouveau risque d'exploitation. Bien qu'aucune attaque n'ait été confirmée sur les conteneurs de servlets Tomcat intégrés ou sur d'autres applications non hébergées sur Tomcat, il est important de noter que cela ne signifie pas pour autant qu'une menace visant ces frameworks ne pourrait pas réussir à l'avenir.
Déclaration officielle de lancement de Spring. Conformément à notre compréhension actuelle de la vulnérabilité, nous expliquons la vulnérabilité en précisant qu'elle doit remplir les conditions suivantes pour être considérée comme telle.
- JDK 9 ou supérieur
- Apache Tomcat en tant que conteneur de servlets
- Empaqueté avec WAR existant (par opposition au fichier jar exécutable Spring Boot)
- Dépendances Spring-webmvc ou Spring-webflux
- Spring Framework versions 5.3.0 à 5.3.17, 5.2.0 à 5.2.19 et versions antérieures
Comment fonctionne l'exploit « Spring4Shell » ?
L'exploitation repose sur l'utilisation de la « liaison de données » (org.SpringFramework.web.bind.WebDataBinder) dans les requêtes utilisant des objets Java simples (POJO) dans la signature de la méthode.

Ici, la classe Foo est une classe POJO et peut être définie comme suit. Veuillez noter que la classe réelle n'a pas d'importance tant qu'elle est chargée par le chargeur de classes.

Lorsqu'une requête est traitée à l'aide de cette méthode, le chargeur de classes est utilisé pour résoudre les classes. Le chargeur de classes permet de charger les classes au moment de l'exécution, sans avoir à précharger tous les types possibles en mémoire. Il identifie le fichier .jar à charger lors de l'utilisation d'une nouvelle classe.
Les informations les plus récentes et détaillées concernant cette vulnérabilité sont disponibles directement auprès de Spring. Article de blog(y compris les corrections ou solutions potentielles)
Vulnérabilité 2 - Fonction Spring Cloud (CVE-2022-22963)
Le 27 mars 2022, CyberKendra a publié des informations détaillées concernant une vulnérabilité d'exécution de code à distance (RCE) de type « zero-day » dans Spring Cloud Functions, pour laquelle aucun correctif n'existe. Cette vulnérabilité a reçu l'identifiant CVE-2022-22963 : Vulnérabilité d'accès aux ressources Spring Expression.
Quelles applications sont menacées ?
Cette vulnérabilité a affecté l'application dans les conditions suivantes.
- JDK 9 ou supérieur
- Spring Cloud Functions version 3.1.6 (ou antérieure), 3.2.2 (ou antérieure) ou toute autre version non prise en charge
Comment l'exploitation est-elle mise en œuvre ?
La fonction Spring Cloud permet aux développeurs de configurer la manière dont le routage est géré via la propriété spring.cloud.function.routing-expression, généralement effectuée via la configuration ou le code. Il s'agit d'une fonctionnalité puissante qui accepte le langage d'expression Spring (SpEL). Nous avons découvert qu'il était possible de définir cette propriété via l'en-tête HTTP de la requête, ce qui constitue une vulnérabilité de type « zero-day ». En d'autres termes, un attaquant peut exécuter du code arbitraire en intégrant directement du code SpEL dans une requête HTTP adressée au point de terminaison RoutingFunction.
Quelles mesures les utilisateurs doivent-ils prendre pour atténuer les risques ?
Les versions publiques 3.1.7 et 3.2.3 de Spring Haskell résolvent ce problème en désactivant la possibilité de définir cette propriété via l'en-tête HTTP, ce qui atténue la vulnérabilité. Aucune action supplémentaire n'est requise après la mise à niveau vers l'une de ces deux versions.
Souhaitez-vous en savoir plus sur la manière dont nous aidons les développeurs à écrire un code plus sécurisé ?Veuillez prendre rendez-vous pour une démonstration ou consulter notre guide gratuit sur les pratiques de codage sécurisé, le Security Code Coach.
Source
- 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/

La bibliothèque Spring, l'une des bibliothèques les plus populaires de la communauté Java, a récemment révélé deux vulnérabilités liées à l'exécution de code à distance (RCE). Afin de faciliter la compréhension des risques liés à ces vulnérabilités et des mesures à prendre, nous avons classé les informations connues concernant « Spring4Shell » et « Spring Cloud Function ».
Vulnérabilité 1 - « Spring 4 Shell » (CVE-2022-22965)
Le 29 mars 2022, la communauté a identifié une série de tweets contenant des captures d'écran de preuves de concept d'exploits visant Spring Core (SC). Ces exploits permettent l'exécution de code à distance sur toutes les versions de Spring Core, y compris la dernière version 5.3.17.
Quelles applications sont menacées ?
À l'heure actuelle, seules les applications hébergées sur Tomcat ont été identifiées comme étant exposées à ce nouveau risque d'exploitation. Bien qu'aucune attaque n'ait été confirmée sur les conteneurs de servlets Tomcat intégrés ou sur d'autres applications non hébergées sur Tomcat, il est important de noter que cela ne signifie pas pour autant qu'une menace visant ces frameworks ne pourrait pas réussir à l'avenir.
Déclaration officielle de lancement de Spring. Conformément à notre compréhension actuelle de la vulnérabilité, nous expliquons la vulnérabilité en précisant qu'elle doit remplir les conditions suivantes pour être considérée comme telle.
- JDK 9 ou supérieur
- Apache Tomcat en tant que conteneur de servlets
- Empaqueté avec WAR existant (par opposition au fichier jar exécutable Spring Boot)
- Dépendances Spring-webmvc ou Spring-webflux
- Spring Framework versions 5.3.0 à 5.3.17, 5.2.0 à 5.2.19 et versions antérieures
Comment fonctionne l'exploit « Spring4Shell » ?
L'exploitation repose sur l'utilisation de la « liaison de données » (org.SpringFramework.web.bind.WebDataBinder) dans les requêtes utilisant des objets Java simples (POJO) dans la signature de la méthode.

Ici, la classe Foo est une classe POJO et peut être définie comme suit. Veuillez noter que la classe réelle n'a pas d'importance tant qu'elle est chargée par le chargeur de classes.

Lorsqu'une requête est traitée à l'aide de cette méthode, le chargeur de classes est utilisé pour résoudre les classes. Le chargeur de classes permet de charger les classes au moment de l'exécution, sans avoir à précharger tous les types possibles en mémoire. Il identifie le fichier .jar à charger lors de l'utilisation d'une nouvelle classe.
Les informations les plus récentes et détaillées concernant cette vulnérabilité sont disponibles directement auprès de Spring. Article de blog(y compris les corrections ou solutions potentielles)
Vulnérabilité 2 - Fonction Spring Cloud (CVE-2022-22963)
Le 27 mars 2022, CyberKendra a publié des informations détaillées concernant une vulnérabilité d'exécution de code à distance (RCE) de type « zero-day » dans Spring Cloud Functions, pour laquelle aucun correctif n'existe. Cette vulnérabilité a reçu l'identifiant CVE-2022-22963 : Vulnérabilité d'accès aux ressources Spring Expression.
Quelles applications sont menacées ?
Cette vulnérabilité a affecté l'application dans les conditions suivantes.
- JDK 9 ou supérieur
- Spring Cloud Functions version 3.1.6 (ou antérieure), 3.2.2 (ou antérieure) ou toute autre version non prise en charge
Comment l'exploitation est-elle mise en œuvre ?
La fonction Spring Cloud permet aux développeurs de configurer la manière dont le routage est géré via la propriété spring.cloud.function.routing-expression, généralement effectuée via la configuration ou le code. Il s'agit d'une fonctionnalité puissante qui accepte le langage d'expression Spring (SpEL). Nous avons découvert qu'il était possible de définir cette propriété via l'en-tête HTTP de la requête, ce qui constitue une vulnérabilité de type « zero-day ». En d'autres termes, un attaquant peut exécuter du code arbitraire en intégrant directement du code SpEL dans une requête HTTP adressée au point de terminaison RoutingFunction.
Quelles mesures les utilisateurs doivent-ils prendre pour atténuer les risques ?
Les versions publiques 3.1.7 et 3.2.3 de Spring Haskell résolvent ce problème en désactivant la possibilité de définir cette propriété via l'en-tête HTTP, ce qui atténue la vulnérabilité. Aucune action supplémentaire n'est requise après la mise à niveau vers l'une de ces deux versions.
Souhaitez-vous en savoir plus sur la manière dont nous aidons les développeurs à écrire un code plus sécurisé ?Veuillez prendre rendez-vous pour une démonstration ou consulter notre guide gratuit sur les pratiques de codage sécurisé, le Security Code Coach.
Source
- 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/

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.
Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Consulter le rapportVeuillez prendre rendez-vous pour une démonstration.La bibliothèque Spring, l'une des bibliothèques les plus populaires de la communauté Java, a récemment révélé deux vulnérabilités liées à l'exécution de code à distance (RCE). Afin de faciliter la compréhension des risques liés à ces vulnérabilités et des mesures à prendre, nous avons classé les informations connues concernant « Spring4Shell » et « Spring Cloud Function ».
Vulnérabilité 1 - « Spring 4 Shell » (CVE-2022-22965)
Le 29 mars 2022, la communauté a identifié une série de tweets contenant des captures d'écran de preuves de concept d'exploits visant Spring Core (SC). Ces exploits permettent l'exécution de code à distance sur toutes les versions de Spring Core, y compris la dernière version 5.3.17.
Quelles applications sont menacées ?
À l'heure actuelle, seules les applications hébergées sur Tomcat ont été identifiées comme étant exposées à ce nouveau risque d'exploitation. Bien qu'aucune attaque n'ait été confirmée sur les conteneurs de servlets Tomcat intégrés ou sur d'autres applications non hébergées sur Tomcat, il est important de noter que cela ne signifie pas pour autant qu'une menace visant ces frameworks ne pourrait pas réussir à l'avenir.
Déclaration officielle de lancement de Spring. Conformément à notre compréhension actuelle de la vulnérabilité, nous expliquons la vulnérabilité en précisant qu'elle doit remplir les conditions suivantes pour être considérée comme telle.
- JDK 9 ou supérieur
- Apache Tomcat en tant que conteneur de servlets
- Empaqueté avec WAR existant (par opposition au fichier jar exécutable Spring Boot)
- Dépendances Spring-webmvc ou Spring-webflux
- Spring Framework versions 5.3.0 à 5.3.17, 5.2.0 à 5.2.19 et versions antérieures
Comment fonctionne l'exploit « Spring4Shell » ?
L'exploitation repose sur l'utilisation de la « liaison de données » (org.SpringFramework.web.bind.WebDataBinder) dans les requêtes utilisant des objets Java simples (POJO) dans la signature de la méthode.

Ici, la classe Foo est une classe POJO et peut être définie comme suit. Veuillez noter que la classe réelle n'a pas d'importance tant qu'elle est chargée par le chargeur de classes.

Lorsqu'une requête est traitée à l'aide de cette méthode, le chargeur de classes est utilisé pour résoudre les classes. Le chargeur de classes permet de charger les classes au moment de l'exécution, sans avoir à précharger tous les types possibles en mémoire. Il identifie le fichier .jar à charger lors de l'utilisation d'une nouvelle classe.
Les informations les plus récentes et détaillées concernant cette vulnérabilité sont disponibles directement auprès de Spring. Article de blog(y compris les corrections ou solutions potentielles)
Vulnérabilité 2 - Fonction Spring Cloud (CVE-2022-22963)
Le 27 mars 2022, CyberKendra a publié des informations détaillées concernant une vulnérabilité d'exécution de code à distance (RCE) de type « zero-day » dans Spring Cloud Functions, pour laquelle aucun correctif n'existe. Cette vulnérabilité a reçu l'identifiant CVE-2022-22963 : Vulnérabilité d'accès aux ressources Spring Expression.
Quelles applications sont menacées ?
Cette vulnérabilité a affecté l'application dans les conditions suivantes.
- JDK 9 ou supérieur
- Spring Cloud Functions version 3.1.6 (ou antérieure), 3.2.2 (ou antérieure) ou toute autre version non prise en charge
Comment l'exploitation est-elle mise en œuvre ?
La fonction Spring Cloud permet aux développeurs de configurer la manière dont le routage est géré via la propriété spring.cloud.function.routing-expression, généralement effectuée via la configuration ou le code. Il s'agit d'une fonctionnalité puissante qui accepte le langage d'expression Spring (SpEL). Nous avons découvert qu'il était possible de définir cette propriété via l'en-tête HTTP de la requête, ce qui constitue une vulnérabilité de type « zero-day ». En d'autres termes, un attaquant peut exécuter du code arbitraire en intégrant directement du code SpEL dans une requête HTTP adressée au point de terminaison RoutingFunction.
Quelles mesures les utilisateurs doivent-ils prendre pour atténuer les risques ?
Les versions publiques 3.1.7 et 3.2.3 de Spring Haskell résolvent ce problème en désactivant la possibilité de définir cette propriété via l'en-tête HTTP, ce qui atténue la vulnérabilité. Aucune action supplémentaire n'est requise après la mise à niveau vers l'une de ces deux versions.
Souhaitez-vous en savoir plus sur la manière dont nous aidons les développeurs à écrire un code plus sécurisé ?Veuillez prendre rendez-vous pour une démonstration ou consulter notre guide gratuit sur les pratiques de codage sécurisé, le Security Code Coach.
Source
- 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/
Table des matières

Secure Code Warrior est là pour aider les organisations à protéger leur code tout au long du cycle de vie du développement logiciel et à instaurer une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou tout autre professionnel de la sécurité, nous pouvons aider votre organisation à réduire les risques liés au code non sécurisé.
Veuillez prendre rendez-vous pour une démonstration.TéléchargerRessources utiles pour débuter
Thèmes et contenus de la formation sur les codes de sécurité
Le contenu le plus pertinent du secteur évolue constamment pour s'adapter à l'environnement de développement logiciel en constante évolution, en tenant compte du rôle des clients. Des architectes et ingénieurs aux chefs de produit et responsables de l'assurance qualité, tous les rôles sont couverts, de l'IA à l'injection XQuery. Veuillez consulter le catalogue de contenu pour découvrir ce qui est proposé par thème et par rôle.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Modélisation des menaces avec l'IA : transformer chaque développeur en modélisateur de menaces
Vous repartirez mieux équipé pour aider les développeurs à combiner les idées et les techniques de modélisation des menaces avec les outils d'IA qu'ils utilisent déjà pour renforcer la sécurité, améliorer la collaboration et créer des logiciels plus résilients dès le départ.
Ressources utiles pour débuter
Cybermon est de retour : la mission IA de défaite du boss est désormais disponible à la demande.
Cybermon 2025 Bit The Boss est désormais disponible toute l'année sur SCW. Renforcez le développement de l'IA de sécurité à grande échelle en déployant des défis de sécurité IA/LLM avancés.
Explication de la loi sur la cyber-résilience : l'importance de la conception sécurisée dans le développement de logiciels
Découvrez les exigences de la loi européenne sur la résilience des réseaux et des services (CRA), son champ d'application et comment votre équipe d'ingénieurs peut se préparer en toute sécurité grâce à la conception, aux pratiques, à la prévention des vulnérabilités et à la mise en place d'un environnement de développement.
Facteur de réussite n° 1 : des critères de réussite clairement définis et mesurables
Enabler 1 présente une série de dix articles consacrés aux facteurs de réussite, en démontrant comment le codage sécurisé peut améliorer les performances commerciales, notamment en accélérant la réduction des risques et des coûts pour la maturité des programmes à long terme.




%20(1).avif)
.avif)
