Vulnerabilità critica di sicurezza in React Server Components

3 dicembre 2025 del React Team


Nota bene

Questa pagina è stata tradotta automaticamente e supervisionata da un maintainer. Un’ulteriore revisione da parte della community sarebbe comunque utile. Migliora questa traduzione.

Esiste una vulnerabilità di esecuzione remota del codice non autenticata in React Server Components.

Raccomandiamo di aggiornare immediatamente.


Il 29 novembre, Lachlan Davidson ha segnalato una vulnerabilità di sicurezza in React che consente l’esecuzione remota del codice non autenticata sfruttando un difetto nel modo in cui React decodifica i payload inviati agli endpoint React Server Function.

Anche se la tua app non implementa alcun endpoint React Server Function, può comunque essere vulnerabile se supporta React Server Components.

Questa vulnerabilità è stata divulgata come CVE-2025-55182 ed è classificata CVSS 10.0.

La vulnerabilità è presente nelle versioni 19.0, 19.1.0, 19.1.1 e 19.2.0 di:

Azione immediata richiesta

Una correzione è stata introdotta nelle versioni 19.0.1, 19.1.2 e 19.2.1. Se usi uno dei pacchetti sopra, aggiorna immediatamente a una delle versioni corrette.

Se il codice React della tua app non usa un server, la tua app non è interessata da questa vulnerabilità. Se la tua app non usa un framework, un bundler o un plugin per bundler che supporta React Server Components, la tua app non è interessata da questa vulnerabilità.

Framework e bundler interessati

Alcuni framework e bundler React dipendevano, avevano peer dependency o includevano i pacchetti React vulnerabili. I seguenti framework e bundler React sono interessati: next, react-router, waku, @parcel/rsc, @vitejs/plugin-rsc e rwsdk.

Consulta le istruzioni di aggiornamento qui sotto per sapere come passare a queste patch.

Mitigazioni dei provider di hosting

Abbiamo collaborato con diversi hosting provider per applicare mitigazioni temporanee.

Non dovresti fare affidamento su queste per mettere in sicurezza la tua app: aggiorna comunque immediatamente.

Panoramica della vulnerabilità

Le React Server Functions consentono a un client di chiamare una funzione su un server. React fornisce punti di integrazione e strumenti che framework e bundler usano per far girare il codice React sia sul client che sul server. React traduce le richieste sul client in richieste HTTP che vengono inoltrate a un server. Sul server, React traduce la richiesta HTTP in una chiamata di funzione e restituisce al client i dati necessari.

Un attaccante non autenticato potrebbe creare una richiesta HTTP malevola verso qualsiasi endpoint Server Function che, una volta deserializzata da React, ottiene l’esecuzione remota del codice sul server. Ulteriori dettagli sulla vulnerabilità saranno forniti al termine del rollout della correzione.

Istruzioni di aggiornamento

Nota bene

Queste istruzioni sono state aggiornate per includere le nuove vulnerabilità:

Consulta il post di follow-up per maggiori informazioni.


Aggiornato il 26 gennaio 2026.

Next.js

Tutti gli utenti dovrebbero aggiornare all’ultima versione patchata nella propria release line:

npm install next@14.2.35 // for 13.3.x, 13.4.x, 13.5.x, 14.x
npm install next@15.0.8 // for 15.0.x
npm install next@15.1.12 // for 15.1.x
npm install next@15.2.9 // for 15.2.x
npm install next@15.3.9 // for 15.3.x
npm install next@15.4.11 // for 15.4.x
npm install next@15.5.10 // for 15.5.x
npm install next@16.0.11 // for 16.0.x
npm install next@16.1.5 // for 16.1.x

npm install next@15.6.0-canary.60 // for 15.x canary releases
npm install next@16.1.0-canary.19 // for 16.x canary releases

15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.10, 15.5.10, 15.6.0-canary.61, 16.0.11, 16.1.5

Se sei sulla versione 13.3 o su una versione successiva di Next.js 13 (13.3.x, 13.4.x o 13.5.x), aggiorna alla versione 14.2.35.

Se sei su next@14.3.0-canary.77 o su una release canary successiva, esegui il downgrade all’ultima release stabile 14.x:

npm install next@14

Consulta il blog di Next.js per le istruzioni di aggiornamento più recenti e il changelog precedente per maggiori informazioni.

React Router

Se usi le API RSC instabili di React Router, dovresti aggiornare le seguenti dipendenze in package.json se presenti:

npm install react@latest
npm install react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latest

Expo

Per saperne di più sulle mitigazioni, leggi l’articolo su expo.dev/changelog.

Redwood SDK

Assicurati di essere su rwsdk>=1.0.0-alpha.0

Per l’ultima versione beta:

npm install rwsdk@latest

Aggiorna all’ultima versione di react-server-dom-webpack:

npm install react@latest react-dom@latest react-server-dom-webpack@latest

Consulta la documentazione Redwood per ulteriori istruzioni di migrazione.

Waku

Aggiorna all’ultima versione di react-server-dom-webpack:

npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest

Consulta l’annuncio Waku per ulteriori istruzioni di migrazione.

@vitejs/plugin-rsc

Aggiorna all’ultimo plugin RSC:

npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

react-server-dom-parcel

Aggiorna all’ultima versione:

npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack

Aggiorna all’ultima versione:

npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack

Aggiorna all’ultima versione:

npm install react@latest react-dom@latest react-server-dom-webpack@latest

React Native

Per gli utenti React Native che non usano un monorepo o react-dom, la versione di react dovrebbe essere fissata nel package.json e non sono necessari passaggi aggiuntivi.

Se usi React Native in un monorepo, dovresti aggiornare solo i pacchetti interessati se installati:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

Questo è necessario per mitigare l’avviso di sicurezza, ma non devi aggiornare react e react-dom, quindi non causerà l’errore di version mismatch in React Native.

Consulta questo issue per maggiori informazioni.

Cronologia

  • 29 novembre: Lachlan Davidson ha segnalato la vulnerabilità di sicurezza tramite Meta Bug Bounty.
  • 30 novembre: I ricercatori di sicurezza Meta hanno confermato e iniziato a collaborare con il team React su una correzione.
  • 1 dicembre: È stata creata una correzione e il team React ha iniziato a collaborare con hosting provider e progetti open source interessati per validare la correzione, implementare mitigazioni e distribuire la fix
  • 3 dicembre: La correzione è stata pubblicata su npm e divulgata pubblicamente come CVE-2025-55182.

Attribuzione

Grazie a Lachlan Davidson per aver scoperto, segnalato e contribuito a correggere questa vulnerabilità.