React2Shell (CVE-2025-55182) : comprendre et se protéger contre cette vulnérabilité RCE critique

Jantien Rault

CEO Fondateur POWER ITI

LinkedIn

Agenda

En bref.
La vulnérabilité React2Shell (CVE-2025-55182) représente l’une des menaces les plus critiques de cette fin d’année 2025. Avec un score CVSS de 10/10, cette faille affecte React Server Components et Next.js — deux technologies utilisées par plus de 11 millions de sites web dans le monde. Depuis sa divulgation le 3 décembre 2025, l’exploitation active par des groupes étatiques (notamment chinois) et des cybercriminels opportunistes s’intensifie. Les PME hébergeant des applications web modernes sur Azure, AWS ou d’autres clouds sont directement concernées.

Introduction.
React est aujourd’hui la bibliothèque JavaScript la plus populaire au monde. Elle propulse environ 5,8 % de tous les sites web et détient une part de marché de 45,8 % parmi les bibliothèques JavaScript. Des géants comme Netflix, Airbnb, Instagram, Walmart et PayPal l’utilisent pour leurs interfaces utilisateurs.

Avec l’arrivée de React 19 et des Server Components, une partie de la logique applicative s’exécute désormais côté serveur plutôt que dans le navigateur. C’est précisément dans ce mécanisme qu’une faille critique a été découverte : React2Shell.

Cette vulnérabilité permet à un attaquant d’exécuter du code arbitraire sur le serveur via une simple requête HTTP malveillante — sans authentification préalable. Le taux de réussite de l’exploitation approche les 100 %, même sur des applications créées avec les configurations par défaut.

1. Qu’est-ce que React2Shell exactement ?

React2Shell est le nom donné à la vulnérabilité référencée CVE-2025-55182. Elle affecte le protocole “Flight” utilisé par les React Server Components (RSC) pour communiquer entre le client et le serveur. Une seconde CVE, CVE-2025-66478, avait été attribuée spécifiquement à Next.js avant d’être fusionnée avec la première, les deux partageant la même cause racine.

La faille a été découverte par le chercheur en sécurité Lachlan Davidson et divulguée de manière responsable à l’équipe Meta le 29 novembre 2025. Les correctifs ont été publiés le 3 décembre 2025, mais l’exploitation a commencé dans les heures suivant la divulgation publique.

Caractéristiques techniques

La vulnérabilité repose sur une désérialisation non sécurisée des payloads RSC. Lorsque le serveur reçoit une requête HTTP contenant un payload malformé, il ne valide pas correctement la structure des données. L’attaquant peut alors injecter du code qui sera interprété dans un contexte privilégié par le runtime Node.js.

Les packages directement affectés sont :

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

Les versions vulnérables incluent React 19.0.0, 19.1.0, 19.1.1 et 19.2.0. Pour Next.js, les versions antérieures aux correctifs 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 et 16.0.7 sont concernées.

Point clé :
Une application est vulnérable même si elle n’utilise pas explicitement les Server Functions, tant qu’elle supporte les React Server Components. Une application créée avec create-next-app en configuration par défaut peut être exploitée sans modification de code.

2. Comment fonctionne cette exploitation ?

L’attaque se déroule en plusieurs étapes, toutes automatisables :

Étape 1 : Identification de la cible. L’attaquant scanne Internet à la recherche d’applications utilisant React ou Next.js. Des outils comme Nuclei permettent de déployer des templates YAML pour détecter automatiquement les versions vulnérables. Selon les données de Wiz, 39 % des environnements cloud contiennent des instances React ou Next.js vulnérables.

Étape 2 : Envoi de la requête malveillante. L’attaquant envoie une requête POST spécialement construite vers un endpoint RSC. Cette requête contient un payload sérialisé qui exploite la confiance par défaut entre les composants React.

Étape 3 : Exécution de code. Le serveur désérialise le payload sans validation suffisante. Le code injecté s’exécute avec les privilèges du processus Node.js, généralement avec un accès complet au système de fichiers et au réseau.

Étape 4 : Persistance et mouvement latéral. Une fois le code exécuté, l’attaquant peut installer des backdoors, exfiltrer des données, ou utiliser le serveur compromis comme point de rebond vers d’autres ressources internes.

Comparaison avec Log4Shell :
React2Shell présente des similitudes troublantes avec Log4Shell (décembre 2021) : score CVSS maximal, exploitation sans authentification, adoption massive de la technologie affectée, et rapidité d’exploitation post-divulgation. Les organisations ayant vécu Log4Shell reconnaîtront le niveau d’urgence.

3. Qui exploite cette faille et comment ?

Depuis le 3 décembre 2025, plusieurs catégories d’acteurs exploitent activement React2Shell :

Groupes étatiques

Selon Amazon Web Services et Google Threat Intelligence Group, des groupes liés à la Chine ont commencé à exploiter la faille dans les heures suivant sa divulgation publique :

  • Earth Lamia : groupe d’espionnage ciblant les infrastructures critiques
  • Jackpot Panda : acteur focalisé sur le vol de propriété intellectuelle
  • CL-STA-1015 : courtier en accès initial (Initial Access Broker) suspecté d’avoir des liens avec le Ministère de la Sécurité d’État chinois

Google a également observé des acteurs iraniens exploitant la vulnérabilité, bien que leur attribution soit moins documentée.

Cybercriminels opportunistes

Dès le 5 décembre 2025, des campagnes massives de cryptominage ont été détectées. Les attaquants déploient des scripts comme sex.sh qui téléchargent et installent XMRig pour miner du Monero. Ces scripts établissent également une persistance via des services systemd.

D’autres charges malveillantes observées incluent :

  • EtherRAT : cheval de Troie d’accès à distance
  • SNOWLIGHT : téléchargeur de malwares
  • VShell : backdoor permettant un contrôle distant
  • MINOCAT : outil de tunneling pour contourner les pare-feux
  • HISONIC et COMPOOD : backdoors utilisées par des groupes d’espionnage
  • Loaders Mirai : pour intégrer les serveurs dans des botnets DDoS
Cas documenté :
Unit 42 (Palo Alto Networks) a observé un attaquant utilisant un reverse shell bash connecté à un serveur Cobalt Strike. Ce type de compromission permet un contrôle interactif total du serveur victime et facilite les mouvements latéraux dans le réseau.

Outils et techniques utilisés

Les attaquants combinent plusieurs approches :

  • Scanners automatisés : Nuclei avec des templates spécifiques CVE-2025-55182, scanners personnalisés (User-Agent “React2ShellScanner/1.0.0”)
  • Burp Suite : pour l’exploitation manuelle et le test des payloads
  • Plateformes de découverte d’actifs : pour identifier les applications React/Next.js exposées sur Internet
  • Randomisation des User-Agents : pour éviter la détection basée sur les signatures

4. Quels risques concrets pour les PME ?

Même si React2Shell n’est pas une vulnérabilité native Microsoft ou Azure, son impact sur les PME utilisant des applications web modernes est considérable.

Exposition des PME françaises

Selon les données de Wiz, 44 % des environnements cloud ont des instances Next.js exposées publiquement. Les PME sont particulièrement vulnérables car :

  • Elles utilisent fréquemment des applications web “clé en main” basées sur React ou Next.js
  • Les mises à jour de dépendances sont souvent négligées faute de ressources IT dédiées
  • Les configurations par défaut sont rarement durcies
  • La surveillance des logs applicatifs est souvent insuffisante

Conséquences d’une compromission

Les impacts potentiels pour une PME sont multiples et graves :

Exfiltration de données sensibles. L’attaquant peut accéder aux bases de données, aux fichiers de configuration contenant des secrets (clés API, mots de passe), et aux données clients.

Accès aux métadonnées cloud. Sur Azure ou AWS, un serveur compromis peut interroger les endpoints de métadonnées pour récupérer des tokens d’accès temporaires, permettant de pivoter vers d’autres services cloud.

Ransomware. Les groupes criminels peuvent chiffrer les données et exiger une rançon. Pour approfondir la protection contre ce type d’attaque, consultez notre article sur la procédure en cas d’attaque par ransomware.

Utilisation comme rebond. Le serveur compromis devient un point d’entrée vers le réseau interne de l’entreprise, permettant d’atteindre des ressources non exposées sur Internet.

Cryptominage. Les ressources serveur sont détournées pour miner des cryptomonnaies, entraînant une hausse des coûts cloud et une dégradation des performances.

À retenir :
Une application vulnérable peut être exploitée sans authentification, via une seule requête HTTP. Cela en fait une cible idéale pour les attaques automatisées. La fenêtre entre la divulgation d’un correctif et l’exploitation massive se compte désormais en heures, pas en jours.

5. Comment détecter une compromission ?

Plusieurs indicateurs peuvent révéler une exploitation de React2Shell :

Indicateurs réseau

  • Requêtes POST suspectes vers des endpoints RSC avec des paramètres comme $ACTION_REF_0 ou $ACTION_0:0
  • Connexions sortantes vers des adresses IP connues comme malveillantes
  • Trafic vers les endpoints de métadonnées cloud (169.254.169.254 sur AWS, par exemple)
  • Communications avec des serveurs C2 (Command & Control) identifiés

Indicateurs système

  • Exécution de commandes wget, curl, chmod depuis le processus Node.js
  • Création de nouveaux services systemd (comme “system-update-service”)
  • Présence de scripts suspects (sex.sh, check.sh, slt)
  • Processus de minage (XMRig) ou reverse shells
  • Fichiers binaires inhabituels (a_x64, rsyslo)

Sources d’IOC (Indicateurs de Compromission)

Datadog maintient une liste d’IOC publique sur GitHub : github.com/DataDog/indicators-of-compromise. Ces indicateurs incluent les adresses IP observées lors de tentatives d’exploitation.

6. Actions concrètes à entreprendre

Action prioritaire : Mettre à jour immédiatement
Identifiez toutes les applications utilisant React Server Components ou Next.js et appliquez les correctifs :

  • React RSC : versions 19.0.1, 19.1.2, 19.2.1 ou supérieures
  • Next.js : versions 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 ou supérieures

Vérifiez également les dépendances transitives avec npm audit ou yarn audit.

Renforcer les protections périmètriques
Configurez ou durcissez vos protections réseau :

  • WAF (Web Application Firewall) : activez les règles de protection contre CVE-2025-55182. AWS WAF, Cloudflare et Azure Front Door proposent des règles managées mises à jour.
  • Filtrage des requêtes : bloquez les requêtes POST contenant des paramètres suspects vers les endpoints RSC
  • Rate limiting : limitez le nombre de requêtes par IP pour ralentir les scans automatisés
Activer la surveillance comportementale
Mettez en place des détections avancées :

  • Alertes sur les exécutions de shells inversés ou de processus inhabituels depuis Node.js
  • Monitoring des connexions sortantes vers des destinations inconnues
  • Analyse des logs applicatifs pour détecter les patterns d’exploitation
  • Surveillance des créations de services systemd non autorisées
Préparer la réponse à incident
En cas de compromission suspectée :

  • Isolez immédiatement le serveur du réseau
  • Préservez les logs et les images disque pour l’analyse forensique
  • Révoquez tous les secrets (clés API, tokens, mots de passe) accessibles depuis le serveur
  • Vérifiez les autres ressources cloud pour détecter d’éventuels mouvements latéraux

Pour une procédure détaillée, consultez notre guide sur la réponse en cas de malware détecté.

Poweriti vous accompagne

Vous ne savez pas si vos applications sont vulnérables ? Poweriti peut auditer votre infrastructure, identifier les expositions à React2Shell, et mettre en place les protections adaptées. Notre équipe labellisée ExpertCyber intervient rapidement pour sécuriser vos environnements Azure et cloud.

7. Questions fréquentes

Ma PME utilise un site WordPress, suis-je concerné ?
Non, sauf si votre site intègre des applications React ou Next.js en frontend ou si vous utilisez des thèmes/plugins basés sur ces technologies. WordPress natif n’est pas affecté par React2Shell. Pour les vulnérabilités WordPress, consultez plutôt notre article sur les failles critiques des plugins WordPress.

Comment savoir si mon application utilise React Server Components ?
Vérifiez vos dépendances avec npm list react ou examinez votre package.json. Si vous utilisez Next.js avec l’App Router (introduit en version 13), vous utilisez probablement les Server Components. Les projets créés avec create-next-app récents sont concernés par défaut.

Les hébergeurs cloud ont-ils déployé des protections ?
Oui, AWS, Azure, Cloudflare et Google Cloud ont tous déployé des règles WAF managées pour bloquer les tentatives d’exploitation. Cependant, ces protections ne remplacent pas la mise à jour des applications. Certains providers ont également déployé des protections au niveau runtime.

Que faire si je ne peux pas mettre à jour immédiatement ?
Activez les règles WAF de protection, limitez l’accès aux endpoints RSC via des règles de réseau, et planifiez la mise à jour en priorité absolue. Un serveur vulnérable exposé sur Internet sera scanné et potentiellement exploité en quelques heures.

Cette faille peut-elle être exploitée depuis le réseau interne ?
Oui. Si un attaquant a déjà un accès au réseau interne (via phishing, par exemple), il peut exploiter une application vulnérable même non exposée sur Internet. La mise à jour reste nécessaire pour toutes les instances.

Sources et références

  • Microsoft Security Blog — Defending against CVE-2025-55182 (React2Shell) vulnerability in React Server Components
    microsoft.com/security/blog
  • Wiz Blog — React2Shell (CVE-2025-55182): Critical React Vulnerability
    wiz.io/blog
  • Amazon Web Services — China-nexus cyber threat groups rapidly exploit React2Shell vulnerability
    aws.amazon.com/blogs/security
  • Google Cloud Blog — Multiple Threat Actors Exploit React2Shell (CVE-2025-55182)
    cloud.google.com/blog
  • Cloudflare Blog — React2Shell and related RSC vulnerabilities threat brief
    blog.cloudflare.com
  • Unit 42 (Palo Alto Networks) — Exploitation of Critical Vulnerability in React Server Components
    unit42.paloaltonetworks.com
  • Datadog Security Labs — CVE-2025-55182 (React2Shell): Remote code execution in React Server Components
    securitylabs.datadoghq.com
  • Site officiel React2Shell — Informations du chercheur Lachlan Davidson
    react2shell.com
Partagez cet article 👇
À propos de l'auteur
Jantien Rault
Depuis plus de 20 ans, j’accompagne les PME dans leur transformation digitale et la gestion de leur IT.

🔹 L’IT, c’est mon métier : infogérance, cybersécurité et optimisation des systèmes.
🔹 Les PME, c’est mon terrain de jeu : des solutions sur-mesure, adaptées aux vrais besoins des entreprises.
🔹 Ma vision : simplifier l’informatique pour qu’elle devienne un atout, pas un casse-tête.

Articles en lien