
Questo repository documenta la ricerca sul comportamento di deserializzazione nei React Server Components (RSC) di Next.js tramite il protocollo Flight. Si concentra su come corpi multipart malformati, combinati con la gestione delle richieste Server Action, possano portare a prototype traversal e primitive di esecuzione su determinate build.
Questo repository documenta la ricerca su CVE-2025-55182, nota anche come React2Shell, una vulnerabilità critica di deserializzazione non sicura nei React Server Components (RSC) e nei framework che incorporano il protocollo RSC Flight, in particolare Next.js App Router.
L'attenzione qui è su come payload RSC / Flight malformati combinati con la gestione delle Server Function (Server Action) possano portare all'esecuzione di JavaScript controllato dall'attaccante sul server.
Questo materiale è destinato alla comprensione difensiva, alla riproduzione controllata in laboratorio e alla documentazione. Non è un toolkit di exploit pronto all'uso. Testare solo su sistemi di propria proprietà o per i quali si dispone di esplicita autorizzazione scritta a valutare.
Il bug principale è nell'implementazione server-side di RSC Flight. Colpisce i seguenti pacchetti npm e versioni:
Pacchetti e versioni vulnerabili (Vulert)
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
Versioni corrette (secondo l'advisory React) (Vulert)
Qualsiasi applicazione che utilizza React 19 con RSC e uno dei pacchetti vulnerabili deve essere considerata interessata fino all'aggiornamento, anche se non definisce esplicitamente Server Function.
Next.js eredita l'implementazione RSC vulnerabile quando si utilizza l'App Router. Il problema è tracciato come CVE-2025-66478 per Next.js ed è anche valutato con CVSS 10.0. (SOCRadar® Cyber Intelligence Inc.)
Versioni vulnerabili di Next.js (App Router)
Tutte le build che utilizzano React 19 RSC con:
next 15.x precedenti a:
next 16.x precedenti a 16.0.7
Build canary a partire da 14.3.0-canary.77 e versioni canary successive precedenti alle correzioni
In pratica questo significa:
create-next-app che utilizzano App Router e React 19 sono nell'ambito a meno che non vengano aggiornati.Non interessati da questa CVE (secondo le indicazioni del vendor) (Black Kite)
Qualsiasi framework o bundler che distribuisca i pacchetti RSC vulnerabili può essere interessato. Gli ecosistemi attualmente elencati includono: (Vulert)
@parcel/rsc@vitejs/plugin-rscSe uno stack utilizza React 19 insieme a uno dei pacchetti react-server-dom-* vulnerabili, consideralo interessato finché non viene dimostrato il contrario.
Sulla base di advisory pubblici e analisi dei vendor, lo sfruttamento ha le seguenti caratteristiche: (Vulert)
Autenticazione
Configurazione
react-server-dom-* vulnerabilechild_process.execEsposizione di rete
Flusso dell'attacco (ad alto livello)
Le valutazioni CVSS 3.1 descrivono questo come:
In ambienti di test controllati, utilizzando versioni vulnerabili e configurazioni con RSC abilitato, ricercatori e vendor riportano: (SOCRadar® Cyber Intelligence Inc.)