
PoC funzionante per CVE-2025-55182 (React2Shell) - Esecuzione remota di codice non autenticata in Next.js 15.0.0 tramite React Server Components
⚠️ SOLO A FINI EDUCATIVI
Questo repository è stato creato esclusivamente per scopi educativi e di ricerca. Dimostra una vulnerabilità critica nei React Server Components (Next.js) per aiutare gli sviluppatori a comprendere i rischi e l'importanza di aggiornare le proprie dipendenze.
NON USARE QUESTO CODICE IN PRODUZIONE O CONTRO SISTEMI CHE NON TI APPARTENGONO.
Questo progetto riproduce CVE-2025-55182 (nota anche come "React2Shell"), una vulnerabilità di Remote Code Execution (RCE) che colpisce i React Server Components nelle applicazioni Next.js.
multipart/form-data appositamente costruita che sfrutta la logica di deserializzazione dei React Server Components per eseguire codice JavaScript arbitrario sul server.
app/page.jsapp/actions.js: contiene una Server Action standard. La vulnerabilità risiede nella logica di parsing del framework prima che questa azione venga eseguita.exploit.js: uno script Node.js autonomo per dimostrare l'exploit a livello programmatico.Clona il repository:
git clone https://github.com/pkrasulia/CVE-2025-55182-NextJS-RCE-PoC.git
cd react-cve-test
(Opzionale) Usa la versione corretta di Node.js:
nvm use
Installa le dipendenze (questo installerà le versioni vulnerabili):
npm ci --legacy-peer-deps
# OPPURE
npm install --force
Avvia il server di sviluppo:
npm run dev
Il server dovrebbe avviarsi su http://localhost:3000.
http://localhost:3000 nel tuo browser.whoami, ls -la o cat package.json).Puoi eseguire lo script exploit direttamente dal tuo terminale:
# Utilizzo di base
node exploit.js http://localhost:3000 "whoami"
# Apri la calcolatrice (Linux) - usa '&' per eseguire in background
node exploit.js http://localhost:3000 "gnome-calculator &"
Per correggere questa vulnerabilità nei tuoi progetti:
npm install next@latest react@latest react-dom@latest
L'autore non è responsabile per qualsiasi uso improprio di queste informazioni. Questo progetto ha lo scopo di aiutare ricercatori di sicurezza e sviluppatori a migliorare la sicurezza delle loro applicazioni.