
Ce référentiel documente des recherches sur le comportement de désérialisation dans les composants serveur React (RSC) de Next.js à l'aide du protocole Flight. Il se concentre sur la façon dont les corps multipart malformés combinés à la gestion des requêtes d'action serveur peuvent conduire à une traversée de prototype et à des primitives d'exécution sur certaines versions.
Ce dépôt documente les recherches sur CVE-2025-55182, également connu sous le nom de React2Shell, une vulnérabilité critique de désérialisation non sécurisée dans les composants serveur React (RSC) et les frameworks qui intègrent le protocole RSC Flight, en particulier Next.js App Router.
L'accent est mis ici sur la façon dont des charges utiles RSC / Flight malformées combinées à la gestion des fonctions serveur (Server Action) peuvent conduire à l'exécution de code JavaScript contrôlé par l'attaquant sur le serveur.
Ce matériel est destiné à une compréhension défensive, une reproduction contrôlée en laboratoire et une documentation. Il ne s'agit pas d'une boîte à outils d'exploitation prête à l'emploi. Testez uniquement sur des systèmes dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite.
Le bogue principal se trouve dans l'implémentation côté serveur de RSC Flight. Il affecte les packages npm et versions suivants :
Packages et versions vulnérables (Vulert)
react-server-dom-webpack
react-server-dom-parcelreact-server-dom-turbopack
Versions corrigées (selon l'avis React) (Vulert)
Toute application utilisant React 19 avec RSC et l'un des packages vulnérables doit être considérée comme affectée jusqu'à sa mise à niveau, même si elle ne définit pas explicitement de fonctions serveur.
Next.js hérite de l'implémentation RSC vulnérable lors de l'utilisation de l'App Router. Le problème est suivi sous la référence CVE-2025-66478 pour Next.js et est également évalué à CVSS 10.0. (SOCRadar® Cyber Intelligence Inc.)
Versions Next.js vulnérables (App Router)
Toutes les builds utilisant React 19 RSC avec :
next 15.x antérieur à :
next 16.x antérieur à 16.0.7
Les builds Canary à partir de 14.3.0-canary.77 et les versions canary ultérieures avant les correctifs
En pratique, cela signifie :
create-next-app par défaut qui utilisent l'App Router et React 19 sont concernés, sauf mise à jour.Non concerné par cette CVE (selon les instructions du fournisseur) (Black Kite)
Tout framework ou bundler qui embarque les packages RSC vulnérables peut être affecté. Les écosystèmes actuellement listés incluent : (Vulert)
@parcel/rsc@vitejs/plugin-rscSi une pile utilise React 19 plus l'un des packages react-server-dom-* vulnérables, considérez-la comme affectée jusqu'à preuve du contraire.
Selon les avis publics et les analyses des fournisseurs, l'exploitation présente les caractéristiques suivantes : (Vulert)
Authentification
Configuration
react-server-dom-* vulnérablechild_process.execExposition réseau
Flux d'attaque (haut niveau)
Les évaluations CVSS 3.1 décrivent cela comme :
Dans des environnements de test contrôlés, utilisant des versions vulnérables et des configurations RSC activées, les chercheurs et les fournisseurs rapportent : (SOCRadar® Cyber Intelligence Inc.)