Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-55182 — react CVE-2025-55182 | Kitploit
Strumenti/GitHubGitHub/tanvirahmedcs/cve-2025-55182
Scanner di VulnerabilitàScanner di Vulnerabilità WebAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubtanvirahmedcs/cve-2025-55182

CVE-2025-55182

react CVE-2025-55182

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-55182 — Esecuzione di codice remoto non autenticata in React Server Components

Gravità: Critica — CVSS 10.0
CWE: CWE-502 (Deserializzazione di dati non attendibili)
Vendor: Meta (Facebook)
Divulgata: 3 dicembre 2025


Panoramica

CVE-2025-55182 è una vulnerabilità di esecuzione remota di codice (RCE) non autenticata di gravità massima in React Server Components (RSC), soprannominata React2Shell. Il difetto risiede nel modo in cui React decodifica i payload inviati agli endpoint delle Server Function React tramite il protocollo Flight. Un utente malintenzionato può inviare una singola richiesta HTTP POST appositamente predisposta a un server vulnerabile ed eseguire codice arbitrario — senza credenziali, senza interazione con l'utente.

Le applicazioni che non espongono endpoint espliciti per le Server Function rimangono comunque vulnerabili se supportano React Server Components.


Pacchetti e versioni interessati

PacchettoVersioni vulnerabiliVersioni corrette
react-server-dom-webpack19.0.0, 19.1.0, 19.1.1, 19.2.0≥ 19.0.1 / 19.1.2 / 19.2.1
react-server-dom-parcel19.0.0, 19.1.0, 19.1.1, 19.2.0≥ 19.0.1 / 19.1.2 / 19.2.1
react-server-dom-turbopack19.0.0, 19.1.0, 19.1.1, 19.2.0≥ 19.0.1 / 19.1.2 / 19.2.1

Framework interessati (quando si usano pacchetti React vulnerabili): Next.js 15.x / 16.x (App Router), React Router, Waku, RedwoodSDK, Parcel RSC, plugin Vite RSC.


Dettaglio CVSS v3.1

Stringa del vettore: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H


Come funziona la vulnerabilità

I React Server Components utilizzano un formato binario di trasmissione chiamato protocollo Flight per trasmettere gli alberi dei componenti dal server al client. Lo stesso protocollo gestisce le Server Functions (in precedenza Server Actions) — endpoint richiamabili che accettano argomenti serializzati dal browser.

La vulnerabilità risiede nel deserializzatore: quando React elabora un payload Flight, può essere indotto a istanziare oggetti arbitrari lato server, portando a una RCE completa. Poiché l'endpoint Flight è esposto per impostazione predefinita ogni volta che RSC è abilitato, e poiché non esiste alcun controllo di autenticazione a livello di protocollo, lo sfruttamento richiede solo l'accesso di rete al server.


Template Nuclei

Il template incluso CVE-2025-55182.yaml utilizza tre metodi di rilevamento complementari.

Richiesta 1 — Sonda generica per endpoint Flight RSC

Invia una richiesta POST minima con Content-Type: text/x-component al percorso root. Un server RSC vulnerabile (o raggiungibile) risponde con lo stesso content-type e un corpo di stream Flight le cui righe iniziano con ID di riga alfanumerici seguiti da due punti (es. 0:, 1:) o simboli di riferimento React ($L, $S, $I, $@).

root@kitploit:~
POST / HTTP/1.1
Content-Type: text/x-component
Accept: text/x-component, */*

Condizione di corrispondenza: HTTP 200 + header text/x-component + regex dello stream Flight nel corpo.

Richiesta 2 — Sonda RSC per Next.js App Router

Next.js segnala le richieste RSC tramite l'header RSC: 1 e il parametro di query ?_rsc=. Questa richiesta simula un prefetch del browser per confermare che l'endpoint Flight di App Router sia raggiungibile.

root@kitploit:~
GET /?_rsc=1 HTTP/1.1
Accept: text/x-component
RSC: 1
Next-Router-State-Tree: %5B%22%22%2C%7B%7D%5D

Condizione di corrispondenza: HTTP 200 + header text/x-component.

Richiesta 3 — Sonda per endpoint Server Function (Action)

Invia un payload Flight minimale e malformato insieme a un header Next-Action (il meccanismo usato per invocare le Server Functions). Un server vulnerabile tenta di deserializzare il payload; anche una risposta di errore che include header specifici di RSC conferma che l'endpoint esiste.

root@kitploit:~
POST / HTTP/1.1
Content-Type: text/x-component
Next-Action: 0000000000000000000000000000000000000000

Condizione di corrispondenza: HTTP 200/400/500 + header text/x-component o x-action-revalidated.

Rilevamento basato su file (passivo)

Analizza i file *.json locali (es. package-lock.json, yarn.lock) per individuare i nomi dei pacchetti vulnerabili combinati con una regex di versione corrispondente a 19.0.0, 19.1.0, 19.1.1 o 19.2.0. Utile per il controllo di repository o pipeline CI senza inviare alcun traffico di rete.


Utilizzo

Prerequisiti

  • Nuclei v3.x o successivo
root@kitploit:~
# Install / update Nuclei
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

Scansione attiva — target singolo

root@kitploit:~
nuclei -target CVE-2025-55182.yaml -u https://target.example.com

Scansione attiva — elenco di target

root@kitploit:~
nuclei -target CVE-2025-55182.yaml -l targets.txt

Scansione passiva — directory locale del progetto

root@kitploit:~
nuclei -target CVE-2025-55182.yaml -target ./path/to/project

Output dettagliato con report JSON

root@kitploit:~
nuclei -target CVE-2025-55182.yaml -u https://target.example.com -v -je results.json

Scansione con rate limiting (consigliata per target in produzione)

root@kitploit:~
nuclei -target CVE-2025-55182.yaml -u https://target.example.com -rl 10 -timeout 10

Azioni correttive

Aggiorna immediatamente a una versione corretta:

root@kitploit:~
# npm
npm install react-server-dom-webpack@latest

# yarn
yarn upgrade react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

# pnpm
pnpm update react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

Versioni minime sicure per ramo:

RamoVersione minima sicura
19.0.x19.0.1
19.1.x19.1.2
19.2.x19.2.1

Mitigazioni temporanee (se l'aggiornamento non è immediatamente possibile):

  • Blocca le richieste HTTP POST verso gli endpoint RSC/Flight a livello di WAF o reverse-proxy.
  • Disabilita completamente React Server Components finché non è possibile applicare una patch.
  • Implementa una regola WAF mirata al content type text/x-component nelle richieste POST in ingresso (le regole Google Cloud Armor sono disponibili pubblicamente per questa CVE).

Note e limitazioni

  • Una corrispondenza positiva nelle sonde HTTP conferma che l'endpoint Flight è raggiungibile, il che è un forte indicatore di vulnerabilità. La conferma esatta della versione richiede l'ispezione di package-lock.json, node_modules o di un SBOM.
  • Il template non invia un payload armato; è solo di rilevamento ed è sicuro da eseguire contro sistemi in produzione.
  • Le applicazioni che non utilizzano React Server Components (app React solo lato client) non sono interessate.

Riferimenti

  • Avviso ufficiale React — react.dev
  • Avviso di sicurezza GitHub — GHSA-fv66-9v8q-g76r
  • NVD — CVE-2025-55182
  • Zscaler ThreatLabz — React2Shell
  • Google Cloud Blog — Attori delle minacce sfruttano React2Shell
  • Palo Alto Unit 42 — Sfruttamento di CVE-2025-55182

Disclaimer

Questo template è destinato esclusivamente a test di sicurezza autorizzati e valutazione delle vulnerabilità. Eseguirlo su sistemi di cui non si possiede la proprietà o per i quali non si dispone di un'esplicita autorizzazione scritta potrebbe essere illegale. Gli autori non si assumono alcuna responsabilità per un uso improprio.

Scarica lo strumento
MetricaValore
Vettore di attaccoRete
Complessità dell'attaccoBassa
Privilegi richiestiNessuno
Interazione utenteNessuna
AmbitoModificato
RiservatezzaAlta
IntegritàAlta
DisponibilitàAlta
Punteggio complessivo10.0 (Critica)