
una vulnerabilidad crítica de Ejecución Remota de Código (RCE) en React Server Components (RSC). También incluye un realista "Entorno de Laboratorio" para probar y entender la vulnerabilidad de manera segura.
Este repositorio contiene una herramienta de escaneo para CVE-2025-55182 (RCE) y CVE-2025-55183 (Divulgación de Código Fuente) en React Server Components (RSC) de Next.js.
Esta herramienta es solo para fines educativos y de pruebas autorizadas. No utilice esta herramienta en sistemas que no posea o para los que no tenga permiso explícito de prueba. Los autores no son responsables de ningún uso indebido.
Para un análisis técnico detallado, consulte: https://react2shell.com/
pip3 install -r requirements.txt
Verifique si una URL objetivo es vulnerable.
python3 CVE-2025-55182.py -u <url>
Escanee una lista de hosts desde un archivo (uno por línea).
python3 CVE-2025-55182.py -l <hosts_file>
Obtenga un shell interactivo en un objetivo vulnerable.
python3 CVE-2025-55182.py -u <url> --exploit
Verifique si un objetivo filtra código fuente a través de Server Actions.
python3 CVE-2025-55182.py -u <url> --nextjs-rsc-source-code-disclosure
Utilice detección de canal lateral (basada en tiempos/errores) en lugar de intentar RCE.
python3 CVE-2025-55182.py -u <url> --safe-check
Agregue datos basura para eludir la inspección de contenido del WAF o use bypasses específicos.
# Standard WAF bypass (junk data)
python3 CVE-2025-55182.py -u <url> --waf-bypass --waf-bypass-size 128
# Vercel WAF bypass variant
python3 CVE-2025-55182.py -u <url> --vercel-waf-bypass
# Custom headers
python3 CVE-2025-55182.py -u <url> -H "Authorization: Bearer token" -H "X-Custom: Header"
# Proxy usage
python3 CVE-2025-55182.py -u <url> --proxy http://127.0.0.1:8080
# Random User-Agent and Delay
python3 CVE-2025-55182.py -u <url> --random-agent --delay 2.0
# Scan specific path
python3 CVE-2025-55182.py -u <url> --path /_next --path /api
Guarde los resultados en un archivo en formato JSON, CSV o HTML. La bandera --all-results guarda tanto hosts vulnerables como no vulnerables.
python3 CVE-2025-55182.py -u <url> -o results.json --format json --all-results
Puede ejecutar una instancia vulnerable para pruebas usando la imagen Docker proporcionada:
docker build -t cve-local .
docker run --rm -p 3000:3000 cve-local
¿Interesado en la investigación de seguridad de Vercel? Consulte nuestro documento de investigación colaborativa:
📄 VERCEL_RESEARCH.md - Una guía completa para:
¡Abra un issue con la etiqueta research para unirse a la discusión!
| Argumento | Descripción |
|---|
-u, --url | URL/host único a verificar. |
-l, --list | Archivo que contiene la lista de hosts a escanear. |
--exploit | Ingresar al modo shell interactivo (requiere -u). |
--nextjs-rsc-source-code-disclosure | Verificar Divulgación de Código Fuente (CVE-2025-55183). |
-t, --threads | Número de hilos concurrentes (por defecto: 10). |
--timeout | Tiempo de espera de la solicitud en segundos (por defecto: 10). |
-o, --output | Archivo de salida para los resultados. |
--format | Formato de salida: json, csv, html. |
--all-results | Guardar todos los resultados, no solo los vulnerables. |
-k, --insecure | Deshabilitar verificación de certificados SSL. |
-H, --header | Encabezado personalizado en formato 'Clave: Valor'. |
--path | Ruta personalizada a probar (ej., '/_next'). |
--path-file | Archivo que contiene la lista de rutas a probar. |
--safe-check | Usar detección segura de canal lateral en lugar de PoC de RCE. |
--windows | Usar payload de Windows PowerShell. |
--waf-bypass | Agregar datos basura para eludir WAF. |
--waf-bypass-size | Tamaño de los datos basura en KB para el bypass de WAF. |
--vercel-waf-bypass | Usar payload de bypass de WAF de Vercel. |
--bypass-variant | Seleccionar variante específica de bypass de WAF (1-102) o 'all'. |
-x, --proxy | URL del proxy (ej., http://127.0.0.1:8080). |
--random-agent | Usar User-Agent aleatorio para cada solicitud. |
--delay | Retardo entre solicitudes en segundos. |
-v, --verbose | Salida detallada (mostrar fragmentos de respuesta). |
-q, --quiet | Modo silencioso (mostrar solo hosts vulnerables). |
--no-color | Deshabilitar salida de color. |