Icônes SCW
héros bg sans séparateur
Blog

Nouvelle vulnérabilité dans la bibliothèque Spring : comment déterminer si vous êtes exposé et comment y remédier

Charlie Eriksen
Publié le 01 avril 2022
Dernière mise à jour le 9 mars 2026

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

Consulter les ressources
Consulter les ressources

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.

Souhaitez-vous en savoir davantage ?

En savoir plus

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.
Destinataires :
marques LinkedInSocialLogo x
Auteur
Charlie Eriksen
Publié le 01 avril 2022

Destinataires :
marques LinkedInSocialLogo x

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

Consulter les ressources
Consulter les ressources

Veuillez remplir le formulaire ci-dessous pour télécharger le rapport.

Nous sollicitons votre consentement pour vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traitons toujours vos informations personnelles avec la plus grande attention et ne les vendons jamais à d'autres entreprises à des fins marketing.

Soumission
icône de réussite scw
icône d'erreur scw
Veuillez activer le cookie « Analytics » pour soumettre le formulaire. Une fois terminé, vous pouvez le désactiver à tout moment.

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

Veuillez consulter le webinaire.
Commencer
En savoir plus

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.
Télécharger le PDF
Consulter les ressources
Destinataires :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Destinataires :
marques LinkedInSocialLogo x
Auteur
Charlie Eriksen
Publié le 01 avril 2022

Destinataires :
marques LinkedInSocialLogo x

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

Table des matières

Télécharger le PDF
Consulter les ressources
Souhaitez-vous en savoir davantage ?

En savoir plus

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écharger
Destinataires :
marques LinkedInSocialLogo x
Centre de ressources

Ressources utiles pour débuter

Plus d'articles
Centre de ressources

Ressources utiles pour débuter

Plus d'articles