Milioni di applicazioni web corrono rischi immediati a seguito della scoperta di un difetto catastrofico nell’architettura React Server Components (RSC). Identificata come CVE-2025-55182, la vulnerabilità consente agli aggressori non autenticati di eseguire l’esecuzione di codice in modalità remota (RCE) con un’affidabilità quasi perfetta.

React è la libreria più utilizzata al mondo per la creazione di interfacce web, alimentando i front-end di giganti del settore come Facebook, Netflix e Airbnb. Next.js funge da livello di infrastruttura per React, gestendo il modo in cui queste applicazioni vengono eseguite sui server e fornendo contenuti agli utenti. Insieme, costituiscono la spina dorsale di una parte significativa della moderna Internet.

La vulnerabilità prende di mira un’architettura specifica chiamata React Server Components (RSC). RSC consente di eseguire il rendering di parti di una pagina Web sul server anziché sul dispositivo dell’utente per migliorare le prestazioni. Il difetto risiede nella linea di comunicazione, in particolare nel protocollo”Flight”, tra il server e l’utente.

In termini semplici, questa vulnerabilità agisce come una chiave master digitale. Poiché il sistema non riesce a controllare correttamente i dati in entrata, un utente malintenzionato può inviare un comando dannoso che il server accetta ed esegue ciecamente. Ciò garantisce loro il pieno controllo sull’infrastruttura backend senza bisogno di password o accesso speciale, consentendo loro di rubare dati, installare ransomware o dirottare il server per attacchi botnet.

Sepolto all’interno del protocollo di trasporto dati”Flight”, il bug deriva dalla deserializzazione non sicura delle richieste HTTP. Le configurazioni predefinite di Next.js, il framework dominante dell’ecosistema, sono sfruttabili immediatamente e non richiedono errori di codifica specifici da parte degli sviluppatori per l’attivazione.

Meta e Vercel hanno rilasciato patch di emergenza per React 19 e Next.js versioni dalla 14 alla 16. Con Si stima che il 39% degli ambienti cloud sia vulnerabile, i team di sicurezza sono invitati a eseguire immediatamente l’aggiornamento.

I meccanismi di un difetto CVSS 10.0

I professionisti della sicurezza raramente riscontrano una vulnerabilità con un punteggio di gravità perfetto. L’avviso ufficiale assegna a questa falla un punteggio CVSS di 10.0, indicando il massimo impatto e banale sfruttabilità.

Al centro di questa crisi si trova il protocollo”Flight”, un meccanismo specializzato di trasporto dati progettato per facilitare la comunicazione tra React Server Componenti e client.

A differenza dei tipici bug di esecuzione di codice in modalità remota che richiedono catene di exploit complesse o autenticazione preventiva, questo difetto richiede solo una singola richiesta HTTP appositamente predisposta.

Il team di ricerca Wiz, che ha analizzato il difetto, spiega la radice causa:

“La vulnerabilità risiede fondamentalmente nel pacchetto react-server e nella sua gestione del protocollo RSC’Flight’.”

“È caratterizzata come una vulnerabilità di deserializzazione logica in cui il server elabora i payload RSC in modo non sicuro.”

“Quando un server riceve un payload malformato e appositamente predisposto, non riesce a convalidare correttamente la struttura.”

Le vulnerabilità di deserializzazione si verificano quando un l’applicazione si fida delle strutture dati in entrata senza una convalida sufficiente. In questo caso, il server elabora ciecamente il payload dannoso, convertendolo in logica eseguibile.

Wiz ha confermato che l’exploit è straordinariamente stabile. Non dipende da condizioni di competizione, stati specifici della memoria o finestre temporali complesse spesso associate a bug di corruzione della memoria.

Evidenziando il pericolo degli attacchi automatizzati, il team di ricerca di Wiz ha osservato:”Lo sfruttamento richiede solo una richiesta HTTP predisposta e ha dimostrato un’affidabilità quasi del 100% nei test.”

Questa stabilità suggerisce che una volta che i dettagli del payload diventano pubblici, le botnet automatizzate potrebbero scansionare e compromettere server su larga scala in poche ore.

La superficie di attacco è particolarmente pericolosa perché ignora i livelli di autenticazione standard. Qualsiasi endpoint configurato per gestire le richieste RSC agisce come una porta aperta.

Il team di React avverte:”Un utente malintenzionato non autenticato potrebbe creare una richiesta HTTP dannosa a qualsiasi endpoint della funzione server che, una volta deserializzato da React, ottiene l’esecuzione di codice remoto sul server.”

Ecosystem Blast Radius: Next.js e oltre

Sebbene la vulnerabilità esista nel pacchetto principale `react-server`, il suo impatto è amplificato dalla sua presenza nelle configurazioni predefinite dei principali meta-framework.

Next.js, ampiamente considerato come lo standard per lo sviluppo moderno di React, è vulnerabile in tutte le versioni che utilizzano l’App Router. Ciò include le versioni 14.x, 15.x e 16.x, che fanno molto affidamento su RSC per il recupero e il rendering dei dati.

L’analisi tecnica di Wiz sottolinea che ciò non è il risultato di negligenza o errata configurazione dello sviluppatore.

Il team di ricerca Wiz ha dichiarato:”Le configurazioni predefinite sono vulnerabili: un’app Next.js standard creata con create-next-app e realizzata per la produzione può essere sfruttata senza modifiche al codice da parte dello sviluppatore.”

La vulnerabilità si estende oltre Next.js per includere altri framework moderni che adottano l’architettura RSC. L’aggiornamento di sicurezza Next.js conferma che anche Waku, RedwoodJS e React Router sono interessati se utilizzano i pacchetti React vulnerabili.

Secondo il avviso CVE-2025-55182:

“Esiste una vulnerabilità di esecuzione di codice remoto pre-autenticazione nelle versioni React Server Components 19.0.0, 19.1.0, 19.1.1 e 19.2.0 incluse i seguenti pacchetti: react-server-dom-parcel, react-server-dom-turbopack e react-server-dom-webpack.”

“Il codice vulnerabile deserializza in modo non sicuro i payload dalle richieste HTTP agli endpoint della funzione server.”

I dati di Wiz indicano che l’esposizione è sistemica, stimando che il 39% degli ambienti cloud ospita attualmente istanze vulnerabili.

Questa ampia impronta è dovuta alla natura transitiva del pacchetto dipendenza. Gli sviluppatori potrebbero non rendersi conto che stanno utilizzando direttamente `react-server-dom-webpack` o `react-server-dom-turbopack`, poiché questi sono spesso raggruppati all’interno dei framework interni.

La distinzione tra”utilizzare”le funzioni del server e semplicemente”supportarle”è fondamentale in questo caso. L’obiettivo è l’infrastruttura stessa, non necessariamente gli endpoint personalizzati dello sviluppatore.

Risanamento e difesa

Meta e Vercel hanno coordinato un rilascio simultaneo di patch. Le versioni React 19.0.1, 19.1.2 e 19.2.1 risolvono il difetto principale rafforzando la logica di deserializzazione.

Per gli utenti Next.js, l’aggiornamento alle ultime patch è l’unica soluzione definitiva. Vercel ha rilasciato le versioni 14.3.0-canary.88, 15.0.5, 15.1.9 e 16.0.7 per mitigare il problema.

Non esistono soluzioni alternative di configurazione. Disabilitare le azioni del server o percorsi specifici non è sufficiente se l’infrastruttura RSC sottostante rimane attiva.

protezioni WAF di Cloudflare offrono uno scudo proattivo per i clienti dietro il loro proxy. L’azienda ha implementato regole per filtrare i payload dannosi di Flight prima che raggiungano il server di origine.

Tuttavia, fare affidamento esclusivamente sulle protezioni WAF non è sufficiente. Il traffico interno, le richieste dirette all’origine o gli endpoint non proxy potrebbero comunque aggirare le difese edge.

Sottolineando la necessità di applicare patch agli strumenti interni e alle app non pubbliche, il team di React ha avvertito:”Anche se la tua app non implementa alcun endpoint React Server Function, potrebbe comunque essere vulnerabile se la tua app supporta i componenti React Server.”

I team di sicurezza dovrebbero dare priorità all’identificazione di tutte le applicazioni con dipendenze”react-server”, indipendentemente dal fatto che utilizzano attivamente le azioni del server.

Con i dettagli della vulnerabilità ora pubblici, la finestra per l’applicazione delle patch prima che inizi lo sfruttamento automatizzato si sta rapidamente chiudendo.

Categories: IT Info