React a corrigé une faille critique dans React Server Components qui peut permettre l'exécution de code à distance sur des serveurs sans authentification. L'avis de sécurité officiel, identifié comme GHSA-xqc2-xf4c-x3h3, a été publié le 14 octobre 2026 et a reçu une note de 9,5 sur 10 sur l'échelle CVSS v4. Le sujet est revenu dans les discussions des développeurs ce lundi 9 novembre, avec de nouvelles alertes sur le risque pour les applications qui n'ont pas encore appliqué le correctif.
En quoi consiste la faille
Selon l'avis de React, des charges spécialement préparées, envoyées à des frameworks prenant en charge React Server Components, peuvent déclencher l'exécution de code à distance. La condition d'attaque est spécifique : la faille apparaît lorsqu'une réponse du serveur transporte plusieurs typed arrays avec une valeur contrôlée par l'attaquant.
Il faut mesurer le risque avec précision : l'exploitation exige un schéma de réponse que les mainteneurs eux-mêmes décrivent comme extrêmement rare. Toutes les applications React ne sont pas concernées : celles qui n'exécutent pas de code React côté serveur sont hors de portée, tout comme celles qui n'utilisent ni framework, ni bundler, ni plugin compatible avec React Server Components. À ce jour, aucun rapport public d'exploitation active ni aucune preuve de concept publique n'existe pour cette faille précise.
Versions concernées et correctifs
La faille affecte trois paquets — react-server-dom-webpack, react-server-dom-parcel et react-server-dom-turbopack — dans les versions 19.0.0 à 19.0.8, 19.1.0 à 19.1.9, 19.2.0 à 19.2.8 et 19.3.0. Les versions corrigées sont 19.0.9, 19.1.10, 19.2.9 et 19.3.1, et React recommande une mise à jour immédiate.
La même version a également corrigé un déni de service distinct dans Server Functions, identifié comme GHSA-h3gv-c5rc-p453.
Attention, utilisateurs de Next.js
Next.js a publié son propre avis pour la même faille, identifié comme GHSA-673q-mjm6-r5xr, et a livré le correctif moins d'une heure après React. Les versions concernées sont 16.0.0 à 16.4.0 (applications utilisant App Router avec Cache Components), et le correctif se trouve dans la version 16.4.1.
Le détail qui embrouille le plus les développeurs : Next.js embarque sa propre copie des paquets RSC. C'est pourquoi mettre à jour uniquement react et react-dom ne corrige pas Next.js — il faut mettre à jour le paquet next lui-même.
Ce n'est pas React2Shell
La nouvelle faille ne doit pas être confondue avec React2Shell (CVE-2025-55182), une vulnérabilité antérieure et distincte, elle aussi dans React Server Components, qui avait obtenu la note maximale CVSS 10.0 et avait été exploitée à grande échelle en décembre 2025. Selon l'analyse d'Upwind, qui a signalé l'avis sur X, le nouveau problème est une erreur de cadrage dans le protocole de communication de React, et non une chaîne de désérialisation comme celle de React2Shell. La preuve de concept qui a circulé fin octobre appartient à une autre faille, celle de Brotli dans Node.js, connue sous le nom de Node2Shell.
Autre détail : ni l'avis de React ni celui de Next.js n'ont reçu d'identifiant CVE — seulement des codes GHSA.
Que faire
Si votre application utilise React Server Components, vérifiez les versions de react-server-dom-webpack, react-server-dom-parcel et react-server-dom-turbopack et mettez-les à jour vers les versions corrigées. Dans les projets Next.js, mettez à jour next vers la version 16.4.1 ou ultérieure. Même si l'application ne comporte pas de fonctions renvoyant plusieurs typed arrays, la recommandation officielle est de mettre à jour — selon Vercel, il n'existe pas de contournement (workaround).
Sources
- Cyber Security News — Critical React Server Components Flaw Lets Hackers Execute Code Remotely Without Authentication
- GBHackers — Critical React Server Components Vulnerability Allows Unauthenticated Attackers to Execute Malicious Code on Servers
- TechloMedia — React's Critical RCE Flaw Also Exposes a Security Risk in Next.js
- Upwind — GHSA-xqc2-xf4c-x3h3: What the React Server Components Typed-Array RCE Means for Your Next.js Apps
Crédit image : logo de React, via Wikimedia Commons.
Transparence : cet article a été produit avec l'aide de l'intelligence artificielle, en croisant des publications publiques sur X et des sources internet. Consultez les sources originales pour confirmer les informations.
Par Muse