Faille Critique React et Next.js (CVE-2025-55182)

Temps de lecture estimé : 8 minutes
Points clés à retenir
- Une faille critique CVSS 10.0 affecte React 19 et Next.js, permettant l’exécution de code à distance sans authentification
- 39% des environnements cloud contiennent des instances vulnérables selon les données Wiz
- La mise à jour immédiate vers les versions patchées est impérative pour tous les projets utilisant React Server Components
- Les WAF de Cloudflare, AWS et Google Cloud ont déployé des protections automatiques
Sommaire
React2Shell : la vulnérabilité qui ébranle l’écosystème JavaScript
Le 3 décembre 2025, l’équipe React et Meta ont divulgué une faille critique qui pourrait bien être l’une des plus sérieuses de l’histoire récente du développement web. CVE-2025-55182, baptisée React2Shell par la communauté cybersécurité, permet à un attaquant non authentifié d’exécuter du code arbitraire sur les serveurs utilisant React Server Components. Soyons clairs : on parle d’un score CVSS de 10.0, le maximum absolu.
J’ai analysé cette vulnérabilité en détail et les implications sont massives. Selon les données de Wiz, 39% des environnements cloud contiennent des instances vulnérables. Si vous utilisez Next.js 15 ou 16 en production, vous êtes concerné. Dans la pratique, une simple requête HTTP malformée suffit pour compromettre votre application.
Attention : Cette faille affecte les configurations par défaut. Une application Next.js créée avec create-next-app et déployée sans modification est immédiatement vulnérable. Zéro configuration spéciale requise pour l’exploitation.
Comprendre la faille : désérialisation non sécurisée dans le protocole Flight
Le cœur du problème réside dans le protocole Flight des React Server Components. Ce protocole sérialise les arbres de composants, les références de fonctions et les arguments pour les transmettre entre le serveur et le client. Dans les faits, l’implémentation actuelle fait confiance aux payloads entrants sans validation suffisante.
Voici ce qui se passe techniquement :
- Le serveur reçoit une requête RSC : Le protocole Flight attend des données structurées représentant des composants React
- Désérialisation sans validation : La fonction requireModule utilise une notation bracket sans vérification hasOwnProperty, permettant la traversée de la chaîne de prototypes
- Accès aux modules dangereux : Un attaquant peut ainsi accéder aux modules Node.js critiques comme vm, child_process ou fs
- Exécution de code : Le payload malveillant s’exécute avec les privilèges du serveur
Les chercheurs de Wiz ont développé un PoC fonctionnel avec un taux de réussite proche de 100%. Ce qui change vraiment la donne, c’est que l’exploitation ne requiert aucune authentification préalable.
Qui est concerné ? Mapping complet des versions vulnérables
React : versions affectées
Les packages suivants sont vulnérables dans React 19.0, 19.1.0, 19.1.1 et 19.2.0 :
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
Versions corrigées : 19.0.1, 19.1.2 et 19.2.1
Next.js : versions affectées
La faille affecte Next.js via le CVE-2025-66478, qui hérite du même problème sous-jacent. Résultat concret : toutes les applications utilisant l’App Router dans les versions suivantes sont vulnérables :
- Next.js 15.x (toutes versions)
- Next.js 16.x (versions antérieures à 16.0.7)
- Next.js 14.3.0-canary.77 et versions canary ultérieures
Important : Next.js 13.x, Next.js 14.x stable, le Pages Router et l’Edge Runtime ne sont PAS affectés.
| Branche Next.js | Version corrigée |
|---|---|
| 15.0.x | 15.0.5 |
| 15.1.x | 15.1.9 |
| 15.2.x | 15.2.6 |
| 15.3.x | 15.3.6 |
| 15.4.x | 15.4.8 |
| 15.5.x | 15.5.7 |
| 16.0.x | 16.0.7 |
Autres frameworks impactés
Tout framework ou plugin intégrant les packages react-server est potentiellement vulnérable :
- React Router (mode RSC preview)
- Waku
- @vitejs/plugin-rsc
- @parcel/rsc
- RedwoodSDK (rwsdk)
Patch immédiat : procédure de mise à jour
Soyons réalistes : il n’y a aucune option de configuration pour désactiver le code vulnérable. La seule solution est la mise à jour immédiate vers une version patchée.
Pour les projets Next.js
Identifiez votre branche actuelle et installez la version corrigée correspondante :
# Pour Next.js 15.0.x
npm install next@15.0.5
# Pour Next.js 15.1.x
npm install next@15.1.9
# Pour Next.js 15.2.x
npm install next@15.2.6
# Pour Next.js 15.3.x
npm install next@15.3.6
# Pour Next.js 15.4.x
npm install next@15.4.8
# Pour Next.js 15.5.x
npm install next@15.5.7
# Pour Next.js 16.0.x
npm install next@16.0.7
Cas particulier : Si vous êtes sur Next.js 14.3.0-canary.77 ou une version canary ultérieure, rétrogradez vers la dernière version stable 14.x :
npm install next@14
Pour les projets React standalone
Mettez à jour vers une version corrigée de React :
# React 19.0.x
npm install react@19.0.1 react-dom@19.0.1
# React 19.1.x
npm install react@19.1.2 react-dom@19.1.2
# React 19.2.x
npm install react@19.2.1 react-dom@19.2.1
Best Practice : Après installation, rebuildez intégralement votre application et redéployez immédiatement. Pour les architectures monorepo ou microservices, vérifiez que TOUS les services utilisant RSC sont mis à jour.
Protections temporaires : WAF et mitigations
Si la mise à jour immédiate n’est pas possible, plusieurs fournisseurs ont déployé des protections WAF automatiques :
Cloudflare
Déploiement automatique de la règle « React – RCE – CVE-2025-55182 » le 2 décembre à 17h GMT. Tous les clients (plans gratuits et payants) sont protégés si leur trafic React transite par le WAF Cloudflare.
Vercel
Protection automatique déployée sur l’ensemble de la plateforme. Aucune action requise pour les clients hébergés sur Vercel, mais la mise à jour reste fortement recommandée.
Google Cloud Armor
Règle WAF préconfigurée disponible via cve-canary. Configuration requise dans votre politique de sécurité backend :
gcloud compute security-policies rules create 1000 \
--security-policy=my-policy \
--expression="evaluatePreconfiguredWaf('cve-canary', \
{'sensitivity': 1, 'opt_in_rule_ids': ['owasp-crs-v030301-id944240-rce']})" \
--action=deny-403
AWS WAF
Nouvelles règles managées déployées pour bloquer les tentatives d’exploitation. Les clients utilisant les services managés AWS ne sont pas impactés.
Akamai
Règle Adaptive Security Engine Rapid déployée le 3 décembre : « 3000976 — React Remote Code Execution Attack Detected (CVE-2025-55182) ». Protection complète pour les clients App & API Protector.
À retenir : Les protections WAF sont des mesures temporaires. Elles réduisent significativement l’exposition mais ne remplacent pas un patch complet au niveau applicatif.
Questions Fréquentes
Mon application est-elle vulnérable si je n’utilise pas de Server Functions ?
Potentiellement oui. Selon l’équipe React, même sans Server Functions explicites, votre application reste exploitable si elle supporte React Server Components. La simple présence de RSC dans votre stack suffit.
Existe-t-il des exploitations dans la nature ?
Au 4 décembre 2025, aucune exploitation confirmée en production n’a été documentée. Toutefois, plusieurs chercheurs ont publié des PoC fonctionnels sur GitHub. Dans la pratique, l’exploitation est imminente selon tous les experts en sécurité.
Le Pages Router de Next.js est-il concerné ?
Non. Le Pages Router n’utilise pas React Server Components et n’est donc pas affecté par cette vulnérabilité. Seul l’App Router est concerné.
Quelle est la sévérité réelle de cette faille ?
Maximale. Score CVSS 10.0, exploitation sans authentification, configurations par défaut vulnérables, taux de réussite proche de 100% en laboratoire. Selon l’enquête State of JavaScript 2024, React est utilisé par 82% des développeurs. Ce qui marche vraiment pour comprendre l’ampleur : Wiz estime que 39% des environnements cloud contiennent des instances vulnérables.
Puis-je désactiver temporairement RSC ?
Il n’existe aucune option de configuration pour désactiver le code vulnérable sans casser complètement l’App Router. La seule option viable est la mise à jour immédiate ou le retour temporaire au Pages Router pour Next.js 14.x.
Conclusion : une leçon de sécurité pour tout l’écosystème
React2Shell représente un wake-up call majeur pour l’écosystème JavaScript. Cette vulnérabilité expose une faiblesse fondamentale dans la gestion de la confiance des données entrantes, même pour des frameworks aussi matures que React.
Ce qui change vraiment la donne, c’est la rapidité de la réponse. Meta, Vercel et l’ensemble des fournisseurs cloud ont coordonné patches et protections WAF en moins de 96 heures entre la divulgation responsable et le déploiement public. Un exemple de collaboration industrielle efficace.
Pour vous développeurs et responsables tech : patcher immédiatement n’est pas négociable. Dans la pratique, les exploitations massives sont une question de jours, pas de semaines. Si vous avez des applications Next.js 15 ou 16 en production, votre priorité numéro un doit être cette mise à jour.
Zéro bullshit : testez vos dépendances, déployez les patches, vérifiez vos WAF. La sécurité applicative n’est jamais acquise, même avec les frameworks les plus populaires du marché.

Directeur Stratégie
Stratège digital franco-américain basé à Paris. Après 12 ans comme développeur et lead tech dans l’écosystème startup (Atlanta, Paris, Barcelone), j’ai rejoint DesignToads pour accompagner les entreprises dans leur croissance digitale et leur transformation.
Mon expertise couvre le marketing digital, le développement d’applications web et mobile, l’automatisation par IA, ainsi que le conseil stratégique et opérationnel. Ma philosophie : des stratégies pragmatiques, des résultats mesurables, zéro bullshit.
Je partage ici mes analyses, retours d’expérience et conseils actionnables pour les professionnels et dirigeants.