Deux vulnérabilités récemment divulguées dans React et Next.js ouvrent la voie à l’exécution de code à distance (RCE) sans authentification sur des millions d’applications web, sans configuration particulière ni interaction de l’utilisateur requise.
Ces failles proviennent d’un défaut des composants serveur de React (RSC) que les chercheurs prévenaient pouvoir permettre une prise de contrôle complète du serveur dans les installations par défaut.
« React2Shell illustre clairement comment les PoC de “slop” générés par l’IA peuvent inonder GitHub et les fils des réseaux sociaux d’exploits non fonctionnels, au moment même où de véritables exploits opérationnels sont développés en coulisses », a déclaré Itai Goldman, directeur technique et cofondateur de Miggo Security.
Il a ajouté : « Ce bruit me préoccupe, car il donne un faux sentiment de sécurité. Si les PoC publics semblent défectueux, les défenseurs commencent à penser que la vulnérabilité est exagérée — même lorsque le bug sous-jacent est réel, facilement transformable en arme et présent dans une base d’installation massive. »
Au cœur des vulnérabilités
La cause racine (CVE-2025-55182) réside dans une faille de pollution de prototype affectant la logique de désérialisation du protocole Flight des composants serveur de React.
Ce protocole transmet les données des composants React entre le serveur et le client. Si des attaquants injectent des données sérialisées malveillantes dans ce flux, ils peuvent manipuler les prototypes JavaScript et passer de la falsification de données à l’exécution complète de code à distance.
Les deux vulnérabilités obtiennent un score CVSS de 10,0 en raison de leur exploitation sans authentification, d’une surface d’attaque distante accessible via HTTP, de leur présence par défaut sans configuration particulière requise et de leur potentiel de compromission complète du serveur.
La vulnérabilité affecte les paquets côté serveur de React dans les versions 19.0.0, 19.1.0, 19.1.1 et 19.2.0, notamment :
- react-server-dom-webpack
- react-server-dom-turbopack
- react-server-dom-parcel
En aval, CVE-2025-66478 affecte Next.js, qui intègre les paquets RSC vulnérables dans son architecture App Router.
Les écosystèmes affectés par la vulnérabilité comprennent :
- Next.js 14.3.0-canary.77+ et toutes les versions 15.x et 16.x
- Les versions de React Router prenant en charge RSC
- Les plugins RSC de Vite et Parcel
- Waku, RedwoodJS et d’autres frameworks de composants serveur
Bien que les détails des preuves de concept n’aient pas encore été rendus publics en raison de la gravité de la faille, l’exploitation devrait être simple une fois les méthodes d’attaque diffusées.
Protéger votre pipeline contre les exploits React2Shell
Les équipes de sécurité doivent renforcer leurs pipelines CI/CD, durcir les contrôles d’accès et améliorer la supervision des environnements d’exécution.
- Appliquer des correctifs à React, aux paquets RSC et à tous les frameworks dépendants vers les dernières versions corrigées et utiliser le verrouillage des dépendances pour empêcher la réintroduction de versions vulnérables.
- Appliquer des protections temporaires telles que WAF règles, renforcer la surveillance des charges utiles RSC Flight et améliorer l’observabilité des points de terminaison de rendu côté serveur.
- Imposer un accès strict fondé sur le principe du moindre privilège aux comptes de service, réduire au minimum les secrets exposés et renouveler les identifiants après l’application des correctifs.
- Valider et assainir toutes les entrées sérialisées ou fournies par l’utilisateur, et examiner les chemins de désérialisation dans le cadre des bonnes pratiques DevSecOps.
- Surveiller et journaliser le comportement à l’exécution afin de détecter les anomalies, notamment l’exécution inattendue de commandes, les modifications de fichiers ou les appels d’API inhabituels — en s’appuyant sur des contrôles CI/CD et une analyse automatisée des vulnérabilités.
- Segmenter les services RSC des systèmes critiques et appliquer les principes du zéro trust afin de limiter l’ampleur des dégâts en cas d’exploitation.
Ces mesures contribuent à réduire le risque d’attaques RCE et à empêcher que les workflows vulnérables des composants serveur de React ne deviennent des points d’entrée pour des compromissions plus larges.
Les frameworks JS modernes élargissent la surface d’attaque
React2Shell rappelle que les frameworks JavaScript côté serveur sont devenus un vecteur d’attaque dans la chaîne d’approvisionnement logicielle mondiale actuelle.
Alors que le secteur adopte les composants rendus côté serveur et les modèles de communication reposant largement sur la sérialisation, les failles de désérialisation — autrefois principalement associées à des langages plus anciens comme Java et PHP — apparaissent désormais à grande échelle au sein des écosystèmes JS modernes.
L’adoption croissante des composants serveur de React amplifie ce risque et souligne la nécessité de renforcer rigoureusement la sécurité du JavaScript côté serveur et de surveiller attentivement les dépendances.
Ces tendances montrent pourquoi la sécurité de la chaîne d’approvisionnement logicielle doit évoluer pour répondre aux vulnérabilités qui émergent au cœur des frameworks de développement modernes.





