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).
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
Microsoft affirme que l'accord européen de 2009 a donné à CrowdStrike les clés du noyau…
Déjà Président du conseil d'administration, l'ex banquier Jean-Pierre Mustier est nommé directeur général d'Atos. Il…
Le Financial Times rapporte qu'OpenAI était en pourparlers avec des concepteurs de semi-conducteurs, dont Broadcom,…
En première ligne pour subir les cyberattaques, les TPE/PME sont aussi les moins bien formées…
La Cour des comptes estime que la Dinum doit construire sa légitimité, autant au vu…
La Cour des comptes pointe les « résultats contrastés » de la Dinum sur son…