Pour gérer vos consentements :
Categories: Cybersécurité

Spring4Shell : faut-il comparer cette faille Java critique à Log4Shell ?

Spring4Shell sèmera-t-elle autant de panique que Log4Shell ? La question se pose à propos de cette vulnérabilité découverte dans le cœur fonctionnel du framework Spring. Immatriculée CVE-2022-22965, elle est critique (score de base : 9,8 sur l’échelle CVSS 3).

Il y a parfois eu confusion, ces derniers jours, avec une autre faille révélée quasiment en parallèle. Critique également, et qui affecte aussi Spring, mais au niveau de la bibliothèque Cloud Function. Son matricule : CVE-2022-22963.

L’une et l’autre vulnérabilité ont le même effet potentiel : la prise de contrôle, à distance, d’un hôte ou d’un conteneur. Chacune a fait l’objet de correctifs… diffusés plus ou moins dans l’urgence. Pour la faille Cloud Function, l’entité qui pilote le développement du framework (Spring.io, filiale de VMware) a pu orchestrer la démarche comme elle le souhaitait. Pour l’autre faille, ça n’a pas été la même histoire : c’est l’apparition d’un PoC qui a donné l’alerte. Apparu brièvement le 29 mars, il a vite été reproduit. Son principe : injecter une commande curl modifiant les propriétés de journalisation d’un serveur Tomcat afin de pouvoir écrire des données dans des emplacements sensibles. Plus précisément, à la racine, un fichier JSP (JavaServer Pages) contenant un webshell.

Un temps, on a supposé que cette vulnérabilité avait été introduite avec un patch – qui éliminait un risque d’exécution de code à distance dans une fonction de clonage d’exceptions. Spring.io a démenti tout lien dans son annonce anticipée (publiée avant l’attribution d’une CVE).

Spring4Shell : plus « spécifique » que Log4Shell ?

Que retenir de cette annonce ? En premier lieu, que la faille affecte toutes les versions de Spring Core encore prises en charge, sur les branches 5.2 et 5.3 ; ainsi que les plus anciennes. Les correctifs sont intégrés à partir des versions 5.2.20 et 5.3.18. Ainsi qu’à partir des versions 2.5.12 et 2.6.6 de Spring Boot.

Alors que Log4Shell touchait des configurations par défaut de la bibliothèque Log4j, Spring4Shell ne fonctionne que sous certaines conditions. Rapid7 les résume ainsi :

– Les applications MVC et WebFlux exploitant JDK 9 ou toute version ultérieure ont des chances d’être vulnérables

– Encore plus de chances pour les applications qui, en plus, utilisent l’annotation @RequestMapping avec des paramètres de type POJO (Plain Old Java Object)

– Et encore plus de chances si elles utilisent Tomcat

Les apps déployées au format par défaut (JAR) semblent résister à la faille ; au contraire de celles empaquetées en WAR.

Nombre d’indicateurs témoignent d’une exploitation active de la faille.

Même chose pour la CVE-2022-22963, qui a elle aussi son lot de PoC. Pour la juguler, on installera si possible la version 3.1.7 ou 3.2.3 de la bibliothèque Cloud Function. À défaut, on pourra notamment passer à une version de JDK antérieure à la 9.

Photo d’illustration © monsitj – Adobe Stock

Recent Posts

5 chiffres du marché de l’emploi cadre dans l’informatique

Métiers, secteurs, volumes d'offres... Le point, à partir des données de l'Apec, sur quelques indicateurs…

1 jour ago

Serverless : comment Airbus a développé son app de tracking W@y Oversize

Airbus a mis en place Squid, une équipe spécialisée qui a créé un pipeline de…

1 jour ago

Open Web Search : vers un Google européen ?

En gestation depuis 2019, le projet Open Web Search se lance officiellement, à l'appui d'un…

1 jour ago

Adrien Vandeweeghe prend la direction de Trellix en France

Le nouveau directeur de Trellix a pour mission de développer commercialement la filiale française, dont…

1 jour ago

Mainframe : une initiative de modernisation à la Fondation Linux

L'Open Mainframe Project dédie un groupe de travail à la question de la modernisation. La…

2 jours ago

5 licornes et scale-up françaises à suivre

Back Market, Contentsquare et Alan font partie des entreprises du numérique "Made in France" à…

2 jours ago