Sélection de la langue

Alerte - Vulnérabilités liées à l’exécution de code à distance dans Spring

Numéro : AL22-004
Date : 31 mars 2022

Auditoire

La présente alerte s’adresse aux professionnels et aux gestionnaires des TI œuvrant au sein des organismes avisés.

Objet

Une alerte a pour objet de prévenir les destinataires que des cybermenaces ont été relevées récemment et que celles-ci pourraient toucher les biens d’information électronique. Elle vise également à leur fournir des conseils supplémentaires en matière de détection et d’atténuation. Au reste, le Centre canadien pour la cybersécurité (ou Centre pour la cybersécurité) est en mesure d’offrir, aux destinataires qui en font la demande, une assistance complémentaire concernant la teneur de la présente alerte.

Vue d’ensemble

Le 30 mars 2022, des chercheurs en sécurité ont fait rapport d’une preuve de concept qui concerne un code d’exploitation en ligne lié à une vulnérabilité touchant le cadriciel Spring de Java s’exécutant sur Java Development Kit (JDK), versions 9 et ultérieures. L’existence de la vulnérabilité et la possibilité d’exploitation ont depuis été confirmées indépendamment Note de bas de page 1Note de bas de page 2Note de bas de page 3.

Spring a ensuite publié un blogue pour faire état de la vulnérabilité, et a fourni des correctifs, des solutions de contournement et des méthodes pour l’identifier Note de bas de page 4.

Le 29 mars, Spring a publié des mises à jour Note de bas de page 5 visant à faire état des vulnérabilités liées au produit Spring Cloud Function, mais il convient de noter que ces vulnérabilités sont différentes de celles liées à Spring Core Framework.

Détails

Le 31 mars 2022, des développeurs de Spring Core Framework ont signalé une vulnérabilité critique liée à l’exécution de code à distance touchant les applications Spring MVC et Spring WebFlux qui s’exécutent sur Java Development Kit, version 9 et ultérieures Note de bas de page 4. Cette vulnérabilité est connue dans la collectivité de la sécurité de source ouverte sous les noms « Spring4Shell » et « SpringShell ». Spring indique que cet exploit en particulier exige que l’application soit empaquetée comme un fichier WAR (Web application Archive) et déployée sur Apache Tomcat Note de bas de page 1. Cependant, comme il est possible que de nouvelles méthodes d’exploitation de cette vulnérabilité soient découvertes, nous recommandons fortement d’appliquer des correctifs aux applications touchées.

Au moment de la rédaction de cette alerte, il a été déterminé que les applications ne sont vulnérables que dans certaines conditions et ce ne sont pas tous les déploiements qui seront touchés par cette vulnérabilité Note de bas de page 4.

Les chercheurs en sécurité indiquent que pour être vulnérable, une application Spring doit se servir de Spring Beans et de Spring Parameter Binding. Spring Parameter Binding doit également être configuré de manière à utiliser un type de paramètres non basique, comme des objets Plain Old Java (POJO pour Plain Old Java Object) Note de bas de page 1. Il est fortement recommandé de surveiller le blogue de Spring sur le sujet pour obtenir des mises à jour à mesure que la situation évolue Note de bas de page 4.

Lors de discussions de source ouverte sur le sujet, la vulnérabilité décrite dans cette alerte a souvent été confondue avec une vulnérabilité récemment corrigée liée à Spring Cloud (CVE-2022-22963) Note de bas de page 5. Il convient de noter que bien que ces deux vulnérabilités ne sont pas liées, elles doivent toutes deux être corrigées ou atténuées le plus tôt possible.

Le code de la preuve de concept liée aux vulnérabilités CVE-2022-22963 et SpringShell est disponible en ligne et nos sources ont signalé qu’une exploitation était possible dans certaines situations Note de bas de page 1Note de bas de page 2Note de bas de page 3.

Mesures recommandées

Le Centre pour la cybersécurité recommande aux organisations qui ont déployé ces produits de prendre les mesures d’atténuation suivantes afin de protéger les applications et les systèmes touchés par ces vulnérabilités :

  • Continuer à surveiller les blogues de Spring liés à ce problème, puisque la situation continue d’évoluer Note de bas de page 4Note de bas de page 5;
  • Appliquer les correctifs aux applications touchées en mettant à jour Spring Framework à la version 5.3.18 ou 5.2.20 et Spring Cloud à la version 3.17, 3.2.3. Ces nouvelles versions corrigeront respectivement les vulnérabilités SpringShell et CVE-2022-22963;
  • S’il n’est pas possible d’appliquer immédiatement les correctifs, suivre toutes les solutions de contournement suggérées par le fournisseur Note de bas de page 4Note de bas de page 5;
  • Utiliser un pare-feu d’applications Web dans la mesure du possible;
  • Envisager de mettre en place les solutions de contournement et les règles YARA fournies par les chercheurs en sécurité Note de bas de page 1Note de bas de page 2Note de bas de page 3Note de bas de page 6, si l’application de correctifs n’est pas possible.
Date de modification :