
CVE-2025-55182 e CVE-2025-66478 Strumento di rilevamento per Next.js RSC RCE
Uno scanner di vulnerabilità da riga di comando ad alta fedeltà per rilevare CVE-2025-55182 e CVE-2025-66478 (Remote Code Execution) nelle applicazioni Next.js che utilizzano React Server Components (RSC).
Queste vulnerabilità critiche colpiscono le applicazioni Next.js che utilizzano React Server Components, consentendo l'esecuzione remota di codice non autenticata tramite richieste POST multipart appositamente costruite.
Versioni interessate:
Per i dettagli tecnici, consulta: Ricerca Assetnote
Lo scanner invia una richiesta POST multipart appositamente costruita contenente un payload proof-of-concept di RCE che esegue un'operazione matematica deterministica (41*271 = 11111). Gli host vulnerabili restituiscono il risultato nell'intestazione della risposta X-Action-Redirect come /login?a=11111.
| Modalità | Descrizione | Caso d'uso |
|---|---|---|
| RCE PoC (predefinito) | Esegue un'operazione matematica innocua sul target | Conferma rapida delle vulnerabilità |
| Safe Check | Rilevamento side-channel tramite risposte di errore | Quando non si desidera l'esecuzione di codice |
# Clone the repository
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Install dependencies
pip install -r requirements.txt
# Scan a single target
python scanner.py -u https://example.com
# Scan multiple targets from file
python scanner.py -l hosts.txt
# Multi-threaded scan with JSON output
python scanner.py -l hosts.txt -t 20 -o results.json
# Scan with custom headers
python scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
# Safe detection mode (no code execution)
python scanner.py -u https://example.com --safe-check
# Scan Windows targets
python scanner.py -u https://example.com --windows
# WAF bypass mode
python scanner.py -u https://example.com --waf-bypass
# Vercel-specific WAF bypass
python scanner.py -u https://example.com --vercel-waf-bypass
# Combine options
python scanner.py -l hosts.txt -t 50 --waf-bypass --windows -o results.json
╔═══════════════════════════════════════════════════════════════╗
║ react2shell-scanner ║
║ Strumento di rilevamento CVE-2025-55182 e CVE-2025-66478 ║
╚═══════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────┐
│ CONFIGURAZIONE SCANSIONE │
├─────────────────────────────────────────────────────────────┤
│ Target: 5 │
│ Thread: 10 │
│ Modalità di rilevamento: RCE PoC │
│ Tipo di payload: Unix (Shell) │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ TARGET: https://example.com │
├─────────────────────────────────────────────────────────────┤
│ Stato: 🟢 SICURO │
│ HTTP Status: 200 │
│ Tempo risposta: 245.32ms │
│ Server: Vercel │
└─────────────────────────────────────────────────────────────┘
═════════════════════════════════════════════════════════════════
RIEPILOGO SCANSIONE
═════════════════════════════════════════════════════════════════
Target totali: 5
Vulnerabili: 0
Sicuri: 5
Tempo totale scansione: 2.34s
═════════════════════════════════════════════════════════════════
Quando si usa -o results.json, i risultati vengono salvati in formato JSON:
[
{
"url": "https://vulnerable-site.com",
"vulnerable": true,
"message": "RCE confirmed: X-Action-Redirect = /login?a=11111",
"status_code": 200,
"response_time": 342.15,
"server": "Next.js",
"payload_type": "rce-poc (Unix)",
"x_action_redirect": "/login?a=11111"
}
]
Questo strumento è destinato esclusivamente a test di sicurezza autorizzati. Utilizza questo scanner solo su sistemi per i quali hai il permesso esplicito di test. L'accesso non autorizzato ai sistemi informatici è illegale.
Gli autori non sono responsabili per qualsiasi uso improprio o danno causato da questo strumento.
Licenza MIT - Vedi il file LICENSE per i dettagli.
I contributi sono benvenuti! Sentiti libero di inviare una Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)| Opzione | Descrizione |
|---|
-u, --url | Singolo URL da controllare |
-l, --list | File contenente gli host (uno per riga) |
-t, --threads | Numero di thread concorrenti (predefinito: 10) |
--timeout | Timeout della richiesta in secondi (predefinito: 10) |
-o, --output | File di output per i risultati (formato JSON) |
--all-results | Salva tutti i risultati, non solo gli host vulnerabili |
-v, --verbose | Includi corpo della risposta nell'output |
-q, --quiet | Mostra solo gli host vulnerabili |
--no-color | Disabilita output colorato nel terminale |
-k, --insecure | Disabilita la verifica del certificato SSL |
-H, --header | Intestazione personalizzata (può essere usata più volte) |
--safe-check | Usa rilevamento side-channel sicuro invece di RCE PoC |
--windows | Usa payload PowerShell di Windows invece di shell Unix |
--waf-bypass | Aggiungi dati spazzatura per bypassare l'ispezione del contenuto WAF |
--waf-bypass-size | Dimensione dei dati spazzatura in KB (predefinito: 128) |
--vercel-waf-bypass | Usa variante di payload per bypassare il WAF di Vercel |