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-React2Shell — React2Shell (CVE-2025-55182) exploit proof-of-concept (PoC) che dimostra una vulnerabilità CRITICA di esecuzione remota di codice (RCE) nei moderni framework web che utilizzano React Server Components (RSC). | Kitploit
Strumenti/GitHubGitHub/rsch-io/cve-2025-55182-react2shell
Generazione di PayloadExploitSfruttamento di Applicazioni WebBypass WAFPenetration TestingApprendimento e FormazioneRed Teaming
GitHubrsch-io/cve-2025-55182-react2shell

CVE-2025-55182-React2Shell

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

React2Shell (CVE-2025-55182) exploit proof-of-concept (PoC) che dimostra una vulnerabilità CRITICA di esecuzione remota di codice (RCE) nei moderni framework web che utilizzano React Server Components (RSC).

Vedi Repository
118 mesi faNon ancora revisionato

React2Shell

Language CVE CVSS Target License

React2Shell è una proof-of-concept (PoC) che dimostra una vulnerabilità di esecuzione remota di codice (RCE) di livello CRITICAL nei framework web moderni che utilizzano React Server Components (RSC).

Questa PoC ha come bersaglio CVE-2025-55182, una vulnerabilità con punteggio CVSS 10.0 che consente a remoti attaccanti non autenticati di eseguire comandi di sistema arbitrari tramite deserializzazione non sicura all'interno dell'implementazione di React Server Components.


🔍 Panoramica della Vulnerabilità

React2Shell sfrutta un difetto nel modo in cui React Server Components elaborano input non attendibili durante la fase di reidratazione.

La vulnerabilità ha origine nei pacchetti sottostanti react-server-dom-* responsabili della serializzazione e deserializzazione degli alberi dei componenti.


💥 Impatto

Le applicazioni che utilizzano versioni vulnerabili di React Server Components possono elaborare payload dannosi in un modo che porta a esecuzione remota di codice (RCE) con i privilegi del processo server.

Un attaccante può:

  • Eseguire comandi di sistema arbitrari.
  • Muoversi lateralmente verso infrastrutture interne.
  • Esfiltrare dati sensibili.
  • Interrompere la disponibilità del servizio.

Se la tua distribuzione corrisponde a una qualsiasi delle versioni vulnerabili elencate di seguito ed espone endpoint RSC, sei vulnerabile.


📦 Componenti Interessati

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

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

🎯 Framework e Versioni Interessati

Questi pacchetti sono integrati in diversi framework, inclusi ma non limitati a:

  • Next.js
    • Versioni dalla 15.0.0 alla 16.0.6
    • Versioni canary successive a 14.3.0-canary.76
  • Altri framework che utilizzano RSC (v19.0.0–19.2.0), come:
    • Vite
    • Parcel
    • React Router
    • RedwoodSDK
    • Waku

Qualsiasi framework che incorpori l'implementazione vulnerabile di React Server Components è potenzialmente interessato.


🛠 Caratteristiche e Funzionalità

React2Shell include un generatore modulare di payload progettato per bypassare le restrizioni comuni di Node.js e le regole WAF:

  • Iniezione Standard

    • Utilizza process.mainModule.require
    • Prende di mira i bundle predefiniti di Next.js / Webpack.
  • Bypass Asincrono

    • Utilizza import() dinamico per ambienti ESM rigidi in cui require non è disponibile.
  • Offuscamento

    • Codifica stringhe sensibili (ad esempio, child_process) in buffer esadecimali per eludere le firme WAF ingenue.
  • Fallback dei Moduli

    • Sfrutta module.createRequire per caricare moduli in contesti alternativi.
  • Target Universale

    • Endpoint configurabili:
      • Next.js: root /
      • Waku: endpoint RSC come /RSC/foo.txt

🚀 Installazione

Prerequisiti

  • Node.js v18.0.0 o successivo.

Configurazione

root@kitploit:~
git clone https://github.com/rsch-io/CVE-2025-55182-React2Shell.git
cd CVE-2025-55182-React2Shell

npm install form-data

📖 Utilizzo

React2Shell è pensato per essere importato come modulo nei tuoi script di test.

1. Exploit di Base (Target Next.js)

Crea un file denominato exploit.js:

root@kitploit:~
const React2Shell = require('./src/react2shell');

// Inizializza con l'URL di base del target
const target = new React2Shell('http://localhost:3000');

// Esegui il comando utilizzando la strategia "standard"
// Argomenti: execute(command, endpoint, strategy)
target.execute('whoami', '/', 'standard');

Quindi esegui:

root@kitploit:~
node exploit.js

Nota

  • endpoint deve essere impostato su una route abilitata per RSC (ad esempio, /, /RSC/foo.txt o endpoint RSC specifici del framework).
  • strategy può essere modificata (ad esempio, standard, async, obfuscated o qualsiasi altra strategia implementata in react2shell).

2. Targeting di Waku / Endpoint Personalizzati

Waku e altri framework spesso espongono la gestione RSC su route specifiche:

root@kitploit:~
// Target di un'applicazione Waku
// Nota: usa la strategia 'async' poiché Waku spesso utilizza ESM rigoroso
target.execute('ls -la', '/RSC/foo.txt', 'async');

3. Modalità Evasione WAF

Se il server blocca stringhe contenenti child_process, puoi usare la strategia obfuscated:

root@kitploit:~
target.execute('cat /etc/passwd', '/', 'obfuscated');

🛡️ Risoluzione e Rimedio

Aggiorna immediatamente. Le versioni aggiornate di React e dei framework downstream interessati includono una gestione irrigidita degli input utente per prevenire comportamenti indesiderati. Tutti gli utenti dovrebbero passare a una versione corretta il prima possibile.

✅ Elenco Versioni Corrette

Di seguito l'elenco definitivo delle versioni corrette. Se la versione da te distribuita è inferiore a queste, sei vulnerabile.

Avviso per gli utenti di Next.js 14 Se stai utilizzando Next.js 14.3.0-canary.77 o una release canary successiva, sei vulnerabile. Devi effettuare immediatamente il downgrade all'ultima release stabile 14.x, poiché la vulnerabilità interessa l'implementazione sperimentale di RSC presente in quelle build canary.


⚠️ Disclaimer

Questo progetto è fornito solo per scopi di formazione e test di sicurezza autorizzati. L'utilizzo di questo strumento contro sistemi senza autorizzazione esplicita è illegale e non etico.

Gli autori non si assumono alcuna responsabilità per un uso improprio o per danni causati da questo strumento.


📄 Licenza

Questo progetto è concesso in licenza secondo i termini della MIT License. Consulta il file LICENSE per i dettagli.

Scarica lo strumento
MetricaDettagli
GravitàCRITICAL (10.0 / 10.0)
VettoreCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Vettore d'attaccoRete (Remoto)
Interazione utenteNessuna
Software / PacchettoBranch / Tipo🛡️ Versione(i) Corretta(e) / Sicura(e)
ReactStabile19.0.1, 19.1.2, 19.2.1
Next.jsv15 (Stabile)15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7
Next.jsv16 (Stabile)16.0.7
Next.jsCanary15.6.0-canary.58