CVE-2025-55182 : React2Shell, la faille critique qui secoue l'écosystème React
Une vulnérabilité d'une gravité exceptionnelle vient d'être découverte dans React Server Components. Baptisée React2Shell et référencée CVE-2025-55182, cette faille permet à un attaquant non authentifié d'exécuter du code arbitraire sur n'importe quel serveur utilisant React 19. Avec un score CVSS de 10/10 et une exploitation active par des groupes étatiques, cette vulnérabilité représente une menace immédiate pour des millions d'applications web.
Une faille d'une gravité maximale
Le 3 décembre 2025, l'équipe React a publié un avis de sécurité critique concernant une vulnérabilité dans le protocole "Flight" des React Server Components (RSC). La faille, découverte par le chercheur Lachlan Davidson via le programme de bug bounty de Meta, permet une exécution de code à distance (RCE) sans authentification.
Ce qui rend React2Shell particulièrement dangereuse :
- Score CVSS 10/10 : la note maximale de sévérité
- Aucune authentification requise : une simple requête HTTP suffit
- Taux de réussite proche de 100% selon les chercheurs
- Configuration par défaut vulnérable : même les applications créées avec
create-next-appsont exposées - Exploitation triviale : un seul payload malveillant déclenche l'attaque
Le mécanisme d'exploitation

React2Shell exploite une désérialisation non sécurisée dans le protocole Flight, le système de communication entre les composants serveur et client de React 19.
Concrètement, l'attaquant forge une requête HTTP contenant un payload RSC malformé. Lors du décodage de ce payload, les données contrôlées par l'attaquant influencent la logique d'exécution côté serveur, permettant l'exécution de code JavaScript privilégié.
Le point critique : les applications utilisant React Server Components sont vulnérables même si elles n'implémentent pas explicitement de Server Functions. La simple présence du protocole RSC suffit à créer la surface d'attaque.
Versions et frameworks affectés

React (packages vulnérables)
Les versions 19.0, 19.1.0, 19.1.1 et 19.2.0 sont concernées pour les packages suivants :
react-server-dom-webpackreact-server-dom-parcelreact-server-dom-turbopack
Frameworks impactés
La quasi-totalité de l'écosystème React Server Components est touchée :
- Next.js : versions 14.3.0+ canary, 15.x et 16.x
- React Router : versions avec APIs RSC
- Waku
- Expo (versions RSC)
- Redwood SDK (rwsdk)
- @parcel/rsc
- @vitejs/plugin-rsc
Pour mettre ces chiffres en perspective : React est utilisé par 82% des développeurs web selon l'enquête Stack Overflow 2024. Des millions d'applications sont potentiellement exposées.
Exploitation active et campagnes malveillantes
L'exploitation de React2Shell a commencé dans les heures suivant la divulgation publique. Dès le 4 décembre, Amazon a détecté des groupes étatiques chinois testant des exploits, suivis par une exploitation massive le 5 décembre.
Acteurs identifiés
Plusieurs groupes de menaces ont été observés :
- Earth Lamia : groupe lié à la Chine, spécialisé dans l'espionnage
- Jackpot Panda : autre groupe China-nexus ciblant les infrastructures cloud
- Plus de 695 adresses IP identifiées dans des tentatives d'exploitation opportuniste
Techniques post-exploitation observées
Les chercheurs de Wiz et Huntress ont documenté plusieurs types d'attaques :
- Vol de credentials : extraction des variables d'environnement, fichiers de configuration et métadonnées cloud (AWS, GCP, Azure)
- Déploiement de malwares : Cobalt Strike, Sliver, backdoor PeerBlight
- Cryptominage : au moins 6 incidents avec XMRig identifiés
- Tunnels de persistance : Fast Reverse Proxy (FRP), agents Nezha
- Exfiltration de données : credentials encodés en Base64 pour extraction
Statistiques alarmantes
Selon Wiz Research :
- 39% des environnements cloud contiennent des instances Next.js/React vulnérables
- 44% ont des déploiements Next.js exposés publiquement
- L'exploitation cible aussi bien les applications web que les conteneurs Kubernetes
Comment savoir si vous êtes vulnérable
Critères de vulnérabilité
Votre application est vulnérable si :
- Elle utilise React 19.0, 19.1.0, 19.1.1 ou 19.2.0
- Elle implémente React Server Components
- Elle utilise l'un des frameworks/bundlers listés ci-dessus
Critères de non-vulnérabilité
Votre application n'est PAS affectée si :
- Elle n'utilise pas de rendu côté serveur React
- Elle utilise uniquement React côté client (SPA classique)
- Elle utilise une version de React antérieure à 19.0
- Elle n'utilise pas de framework supportant RSC
Vérification rapide
Examinez votre package.json et package-lock.json :
# Vérifier la version de React
npm list react
# Vérifier les packages RSC
npm list react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack
# Vérifier Next.js
npm list nextCorrectifs et mise à jour

Versions corrigées de React
- React 19.0.1
- React 19.1.2
- React 19.2.1
Mise à jour par framework
Pour Next.js, appliquez le correctif correspondant à votre version :
# Next.js 15.0.x
npm install next@15.0.5
# Next.js 15.1.x
npm install next@15.1.9
# Next.js 15.2.x
npm install next@15.2.6
# Next.js 15.3.x
npm install next@15.3.6
# Next.js 15.4.x
npm install next@15.4.8
# Next.js 15.5.x
npm install next@15.5.7
# Next.js 16.0.x
npm install next@16.0.7Pour les autres frameworks :
# React et packages RSC
npm install react@latest react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
# Vite RSC
npm install @vitejs/plugin-rsc@latestVercel propose également un utilitaire interactif pour Next.js :
npx fix-react2shellMesures d'atténuation temporaires
Si la mise à jour immédiate est impossible, plusieurs mesures peuvent réduire le risque :
1. WAF et filtrage
Configurez votre WAF pour bloquer les requêtes RSC malformées. Cloudflare, AWS WAF et d'autres fournisseurs ont déployé des règles spécifiques.
2. Isolation réseau
Limitez l'exposition des serveurs RSC :
- Placez-les derrière un reverse proxy avec filtrage strict
- Restreignez les accès réseau aux sources légitimes
3. Monitoring renforcé
Surveillez les indicateurs de compromission :
- Requêtes POST inhabituelles vers les endpoints RSC
- Processus enfants suspects sur les serveurs Node.js
- Connexions sortantes vers des IP inconnues
- Modifications de variables d'environnement
Attention
Ces mesures sont temporaires et ne remplacent pas la mise à jour. L'équipe React insiste : la seule protection fiable est l'application du correctif.
Chronologie de la crise
| Date | Événement |
|---|---|
| 29 novembre | Découverte par Lachlan Davidson via Meta Bug Bounty |
| 30 novembre | Confirmation par Meta Security, début du développement du correctif |
| 1er décembre | Création du patch et coordination avec les frameworks |
| 3 décembre | Publication du correctif et divulgation publique (CVE-2025-55182) |
| 4 décembre | Premiers tests d'exploitation par des groupes étatiques |
| 5 décembre | CISA ajoute la CVE au catalogue KEV, exploitation massive détectée |
| 6-10 décembre | Campagnes de cryptominage et vol de credentials documentées |
Leçons pour l'écosystème
React2Shell soulève des questions importantes pour la communauté JavaScript.
La dette de sécurité des frameworks
Les React Server Components représentent une évolution majeure, mais leur complexité introduit de nouvelles surfaces d'attaque. La désérialisation, problème bien connu en Java et PHP, frappe maintenant l'écosystème JavaScript.
La rapidité d'exploitation
Le délai entre divulgation et exploitation massive se compte désormais en heures, pas en jours. Les équipes de sécurité doivent être prêtes à réagir immédiatement.
L'importance des configurations par défaut
Une faille exploitable avec la configuration par défaut de create-next-app impacte un nombre considérable d'applications. Les frameworks doivent privilégier la sécurité par défaut.
La dépendance aux mises à jour
L'écosystème npm permet des mises à jour rapides, mais beaucoup d'applications en production ne sont pas régulièrement maintenues. Cette dette technique devient une dette de sécurité critique.
Actions immédiates recommandées
- Inventoriez vos applications React/Next.js en production
- Vérifiez les versions installées contre la liste des versions vulnérables
- Mettez à jour immédiatement vers les versions corrigées
- Auditez vos logs pour détecter d'éventuelles compromissions passées
- Surveillez les IOC (Indicators of Compromise) publiés par les équipes de threat intelligence
- Communiquez avec vos équipes sur l'urgence de la situation
Conclusion
CVE-2025-55182 est l'une des vulnérabilités les plus critiques de l'histoire de l'écosystème JavaScript. Avec un score CVSS maximal, une exploitation triviale et des attaques actives par des groupes étatiques, elle représente une menace immédiate pour des millions d'applications.
La réponse de l'équipe React a été rapide : 4 jours entre le signalement et le correctif. Mais la balle est maintenant dans le camp des développeurs et des équipes d'infrastructure. Chaque heure de retard dans l'application du patch est une fenêtre d'opportunité pour les attaquants.
Si vous utilisez React Server Components ou Next.js, arrêtez de lire cet article et mettez à jour vos dépendances. Maintenant.