Comprendre et corriger Spring4Shell et les vulnérabilités associées (CVE-2022-22965, CVE-2022-22950, CVE-2022-22963)

Écosystème F5 | 01 avril 2022

Pour citer Yogi Berra, l’immortel receveur des Yankees de New York, membre du Temple de la renommée de la Ligue majeure de baseball et grand pourvoyeur de lapsus, « C’est encore une fois du déjà-vu. »

Alors que nous pensions tous pouvoir nous replonger sans risque dans le développement d’applications après les difficultés et les bouleversements causés par la vulnérabilité Log4j et les attaques Log4Shell, voilà qu’une nouvelle vulnérabilité redoutable vient mettre à mal la sécurité et engloutir de précieuses ressources.

Comme vous l’avez probablement déjà entendu, le 29 mars 2022, un chercheur basé en Chine a publié des captures d’écran d’une vulnérabilité d’exécution de code à distance (RCE) dans la bibliothèque Java Spring Core. Cette vulnérabilité a depuis reçu l’identifiant CVE-2022-22965 et s’est vu attribuer un score de gravité CVSS « critique ». Signalée par VMware, elle avait été publiée sur GitHub, mais en a rapidement été supprimée. Malheureusement, le mal était fait et la vulnérabilité a rapidement été publiée dans d’autres dépôts.

Comme beaucoup de vulnérabilités graves qui bénéficient d’une large couverture médiatique, CVE-2022-22965 s’est également vu attribuer un nom courant : Spring4Shell ou, dans certains cas, SpringShell. Quel que soit son nom, une vulnérabilité de cette gravité est assurément dangereuse, car les bibliothèques Spring sont utilisées dans la majorité des applications afin de faire gagner du temps aux développeurs Java.

Selon un article de blog publié par Spring le 31 mars 2022 pour annoncer rapidement cette vulnérabilité d’exécution de code à distance (RCE), celle-ci affecte les applications Spring MVC et Spring WebFlux lorsqu’elles s’exécutent sur le kit de développement Java (JDK) 9 ou version ultérieure. Elle peut également nécessiter que l’application s’exécute sur Apache Tomcat sous forme de fichier WAR. La vulnérabilité affecte les versions 5.3.0 à 5.3.17 et 5.2.0 à 5.2.19 de Spring Framework, ainsi que les versions antérieures. Plus inquiétant encore, Spring avertit que « la nature de la vulnérabilité est plus générale et qu’il pourrait exister d’autres moyens de l’exploiter qui n’ont pas encore été signalés. »

Par ailleurs, selon Spring, les applications exécutées sous forme de déploiements Java Archive (JAR) — ce qui constitue le mode par défaut — ne sont pas vulnérables à la CVE-2022-22965. Toutefois, l’éditeur reconnaît qu’elles peuvent être affectées par d’autres techniques d’exploitation.

La vulnérabilité Spring4Shell survient également dans le sillage d’une autre faille. Dans les versions 3.1.6 et 3.2.2 du logiciel Spring Cloud Function, ainsi que dans les versions antérieures qui ne sont plus prises en charge, des expressions de routage spécialement conçues en Spring Expression Language (SpEL) peuvent être créées afin d’accéder à des ressources locales et éventuellement de permettre une attaque par exécution de code à distance (RCE). Initialement associée à un score de gravité CVSS « moyen », la vulnérabilité CVE-2022-22963 a depuis été reclassée comme « critique ». Des correctifs sont disponibles en effectuant une mise à niveau vers les versions 3.1.7 ou 3.2.3 de Spring Cloud Function.

Indépendamment des CVE-2022-22965 et CVE-2022-22963, une autre vulnérabilité dans Spring, CVE-2022-22950, a été signalée le 28 mars 2022. Il s’agit d’une vulnérabilité par déni de service (DoS) affectant les versions 5.3.0 à 5.3.16 de Spring Framework, ainsi que les versions antérieures qui ne sont plus prises en charge. Spring a publié des correctifs dans Spring Framework 5.3.17 et versions ultérieures.

À ce jour, des scanners Spring4Shell ont déjà été créés et déployés, et des rapports font état d’une exploitation active de la vulnérabilité.

Spring a publié des versions qui corrigent la vulnérabilité CVE-2022-22965, notamment Spring Framework 5.3.18 et 5.2.20, ainsi que Spring Boot 2.5.12, qui dépend de Spring Framework 5.3.18. (Selon Spring, Spring Boot 2.6.6, qui dépend également de Spring Framework 5.3.18, devrait être publié prochainement.)

Bien que Spring ait réagi efficacement en publiant des correctifs pour remédier à ces vulnérabilités particulièrement épineuses, il incombe une fois encore aux organisations d’effectuer les mises à jour et d’appliquer les correctifs le plus rapidement possible. Comme pour les problèmes liés à Log4j / Log4Shell, la difficulté tient à l’omniprésence de ces bibliothèques et au fait qu’elles peuvent être utilisées dans des applications dont les organisations ignorent parfois l’existence. Si une organisation ne sait pas qu’une application utilise un ensemble de bibliothèques concernées, comment peut-elle se protéger, ainsi que ses utilisateurs, contre cette exploitation ?

C’est là que F5 intervient.

Bien que les vulnérabilités du framework Spring et celles de Log4j, ainsi que les exploits Log4Shell, présentent des caractéristiques à la fois similaires et différentes, elles peuvent toutes être détectées et bloquées grâce au déploiement de pare-feu d’applications web (WAF) et de solutions de sécurité similaires.

En tant que client F5, vous bénéficiez déjà de certaines des protections les plus efficaces contre les attaques exploitant Spring4Shell et les vulnérabilités associées. Toutefois, F5 vous recommande vivement, ainsi qu’à vos équipes de développement, de mettre immédiatement à niveau toutes les bibliothèques Spring concernées et, si elles ne sont plus nécessaires, de supprimer de vos applications toutes les bibliothèques Spring vulnérables.

Voici comment F5 vous accompagne et sécurise vos applications, votre organisation et vos utilisateurs grâce à sa gamme complète et évolutive de produits et services de sécurité.

Équipe d’intervention de F5 en cas d’incident de sécurité (SIRT)

Si vous êtes victime d’une attaque ou si vous craignez que votre organisation et ses applications soient vulnérables et exposées, contactez notre équipe d’assistance F5 et demandez à ce que votre dossier soit transmis à la F5 SIRT. Disponible 24 h/24, 7 j/7 et 365 j/an, cette équipe vous guidera dans l’application de correctifs aux systèmes et logiciels F5, vous aidera à les configurer et vous accompagnera dans le déploiement de F5 iRules afin de limiter toute exposition ou d’atténuer les attaques.

BIG-IP Advanced WAF

F5 a publié — et continuera de mettre à jour et de publier — des jeux de signatures disponibles pour BIG-IP Advanced WAF et les déploiements BIG-IP ASM afin de bloquer tous les vecteurs d’attaque connus exposés par les vulnérabilités Spring4Shell. Les signatures sont également mises à jour en permanence afin d’assurer une protection contre toute tentative de contournement. Assurez-vous de disposer de la version la plus récente du package Attack Signature Update (ASU) et de l’utiliser.

Pour les clients qui n’ont pas déployé Advanced WAF ou ASM, une iRule peut être appliquée à l’application afin de détecter, de journaliser et de bloquer tout trafic malveillant susceptible de cibler des CVE spécifiques.

NGINX App Protect WAF

F5 garantit une sécurité cohérente des applications, quelle que soit la plateforme F5 utilisée et déployée par les clients. Par conséquent, les clients de NGINX App Protect WAF recevront les mêmes signatures mises à jour en même temps que les clients de BIG-IP Advanced WAF. Veillez à mettre à jour vos signatures NGINX App Protect WAF. Pour savoir comment procéder, veuillez consulter ces instructions. Assurez-vous également que le type d’attaque « Injection de code côté serveur » est activé dans votre politique WAF.

F5 Distributed Cloud WAAP

La solution récemment lancée F5 Distributed Cloud Web Application and API Protection (WAAP) protège les applications et les API déployées dans les clouds et sur les sites périphériques grâce au pare-feu d’applications web (WAF) SaaS de pointe de F5, à sa protection contre les bots, à sa sécurité avancée des API et à sa défense contre les attaques DDoS de couches 3 à 7. L’approche WAF unifiée de F5 garantit une sécurité homogène des applications, quelle que soit l’offre F5 déployée par les clients. Par conséquent, les signatures destinées à remédier aux vulnérabilités Spring4Shell ayant déjà été créées et mises à disposition pour BIG-IP Advanced WAF et NGINX App Protect WAF, elles ont également été mises simultanément à disposition pour Distributed Cloud WAAP. Aucune action supplémentaire n’est nécessaire : en tant que client de Distributed Cloud WAAP, vous êtes déjà protégé.

F5 Distributed Cloud WAF

À l’instar de BIG-IP Advanced WAF, NGINX App Protect et Distributed Cloud WAAP, F5 Distributed Cloud WAF dispose déjà des signatures nécessaires pour se protéger contre l’exposition aux vulnérabilités Spring4Shell. Elles sont incluses dans la politique WAF par défaut, aucune action supplémentaire n’est donc requise.

WAF F5 Silverline

Les mesures d’atténuation nécessaires ont déjà été mises en œuvre par l’équipe F5 Silverline, garantissant ainsi aux clients que leurs applications sont protégées contre Spring4Shell et les vulnérabilités associées. En surveillant en permanence les menaces et en se tenant prêt à appliquer toute mesure d’atténuation nécessaire, en collaboration avec l’équipe de recherche sur les menaces de F5 et avec vous, nos clients, le SOC F5 Silverline vient renforcer votre équipe AppSec et travaille pour vous 24 h/24, 7 j/7 et 365 j/an. Si vous avez des questions concernant F5 Silverline, veuillez contacter l’équipe à l’adresse support@f5silverline.com.

Threat Stack

Threat Stack, récemment acquis par F5, offre des fonctionnalités d’inspection, de détection et de création de rapports. Le service Threat Stack comprend des règles de détection permettant de déterminer si une compromission Spring4Shell constitue une menace. Il peut également détecter le lancement de services avec les privilèges root ou depuis un shell, ainsi que les tentatives d’élévation de privilèges. Pour plus d’informations, veuillez contacter votre représentant commercial F5 ou consulter https://www.threatstack.com.

F5 Distributed Cloud Bot Defense

Une tentative d’exploitation d’une vulnérabilité telle que Spring4Shell commence généralement par une reconnaissance automatisée. F5 Distributed Cloud Bot Defense constitue votre première ligne de défense. Cette solution peut bloquer les analyses automatisées, compliquant ainsi la tâche des attaquants qui cherchent à déterminer si votre organisation possède des applications web vulnérables à Spring4Shell. F5 Distributed Cloud Services suit l’évolution constante des tactiques employées par les attaquants qui exploitent des botnets, ce qui permet une adaptation en temps réel face aux attaques automatisées menées par des bots.

BIG-IP SSL Orchestrator

Les bibliothèques Spring étant utilisées dans la grande majorité des applications Java, il sera difficile pour les organisations comme la vôtre de déterminer toute l’étendue des vulnérabilités et des exploitations potentielles qui en découlent. La mise à jour de toutes vos applications concernées peut également prendre du temps, à condition que vous parveniez à toutes les identifier. Vos applications et votre organisation peuvent ainsi rester vulnérables et exposées à des attaques. F5 SSL Orchestrator rend le trafic chiffré visible afin de bloquer les menaces qui s’y dissimulent. Il déchiffre le trafic qui transite par votre réseau, y compris celui des serveurs, puis l’achemine automatiquement vers des chaînes de sécurité que vous pouvez définir en fonction des solutions de votre pile de sécurité. SSL Orchestrator ne se contente pas de traiter les menaces chiffrées : il peut également bloquer le trafic malveillant chiffré, notamment celui à destination d’un serveur de commande et de contrôle (C2). SSL Orchestrator permet non seulement d’atténuer la vulnérabilité CVE-2022-22965, mais aussi de se protéger contre les vulnérabilités et les exploitations futures.

F5 vous tiendra informé des dernières actualités concernant Spring4Shell (CVE-2022-22965) et les vulnérabilités associées, ainsi que des mesures prises par F5 pour se protéger contre toute nouvelle exploitation qui en découlerait et en atténuer les effets.

Nous mettrons à jour ce blog à mesure que de nouvelles informations seront disponibles. Pour en savoir plus, vous pouvez consulter les ressources suivantes :

K11510688 : vulnérabilités CVE-2022-22965, CVE-2022-22950 et CVE-2022-22963 de Spring Framework (Spring4Shell) et Spring Cloud

K24912123 : atténuer les vulnérabilités de Spring Framework (Spring4Shell) et de Spring Cloud avec le système BIG-IP

Partager
Mots-clés : 2022

Articles de blog associés

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives
Écosystème F5 | 08/09/2025

F5 NGINXaaS pour Google Cloud : des applications résilientes et évolutives

Découvrez comment NGINXaaS s’intègre à Google Cloud pour renforcer les performances et la sécurité, et préparer vos applications critiques à un avenir propulsé par l’IA.

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui
Écosystème F5 | 24/04/2023

L’intégration de F5 Web Application Firewall (WAF) à AWS est disponible dès aujourd’hui

En faisant appel à un partenaire de déploiement AWS WAF tel que F5, vous pouvez renforcer la sécurité de vos applications web grâce à des règles personnalisées qui bloquent les schémas d’attaque courants, comme les injections SQL ou les attaques par scripts intersites (XSS).

Appliquer le principe de Peter Parker à l’inspection TLS
Écosystème F5 | 09/12/2019

Appliquer le principe de Peter Parker à l’inspection TLS

« Un grand pouvoir implique de grandes responsabilités. » Si l’on en trouve des échos chez Voltaire et Churchill, cette citation est surtout connue grâce aux bandes dessinées Spider-Man, où elle est attribuée à l’oncle Ben. Bien entendu, si cette phrase est si répandue dans la culture populaire, c’est notamment parce qu’elle peut s’appliquer à une multitude de situations et de sujets, y compris à l’inspection TLS.

Le NetOps a besoin de défenseurs, pas d’adversaires
Écosystème F5 | 13/12/2018

Le NetOps a besoin de défenseurs, pas d’adversaires

Il est important de reconnaître que les équipes NetOps ne sont pas toujours celles qui font obstacle au déploiement de la dernière nouveauté, application ou service. Les freins à la rapidité sont souvent dus au fait que les organisations n’adoptent pas tous les principes du DevOps lorsqu’elles cherchent à transformer leurs opérations informatiques.

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects
Écosystème F5 | 01/03/2018

Mise à jour des services applicatifs : sécurité, rapidité et visiteurs suspects

Il est de nouveau temps de nous pencher sur les services applicatifs que les entreprises utilisent réellement pour rendre leurs applications plus rapides et plus sûres. On constate notamment une hausse du recours aux services de protection contre les bots, ainsi que la progression lente mais régulière de HTTP/2. Bien qu’il ne s’agisse pas d’une application…

Les templates prennent le contrôle du cloud
Écosystème F5 | 02/02/2017

Les templates prennent le contrôle du cloud

Les modèles s’imposent dans le cloud. Lisez le blog de F5 pour découvrir comment l’infrastructure en tant que code et les API déclaratives automatisent la mise à disposition des applications.