
React/Next.js React4Shell RCE CVE-2025-55182 verificador
Una herramienta integral de detección de vulnerabilidades para CVE-2025-55182 en aplicaciones React/Next.js con múltiples técnicas de detección.
SOLO PARA PROPÓSITOS DE PRUEBAS DE SEGURIDAD AUTORIZADAS E INVESTIGACIÓN
Esta herramienta está diseñada para:
El acceso no autorizado a sistemas informáticos es ilegal. Siempre obtenga permiso por escrito antes de realizar pruebas.
Este detector prueba de forma exhaustiva si una aplicación objetivo es vulnerable a CVE-2025-55182 mediante múltiples técnicas:
La herramienta prueba cadenas de gadgets de Node.js con operaciones inofensivas:
1+1)echo test)path)/dev/null)Operaciones de Prueba:
echo test, 1+1)/dev/null)NO hace:
Esta herramienta utiliza uv para la gestión de dependencias y ejecución.
¡No se necesita instalación! Simplemente clone y ejecute:
git clone <url-del-repositorio>
cd CVE-2025-55182/poc
uv run check http://target.com:3000
La herramienta instalará automáticamente las dependencias en la primera ejecución.
uv run check <url_objetivo>
# Probar un objetivo con la configuración predeterminada (prueba el endpoint /formaction)
uv run check http://localhost:3002
# Especificar un endpoint personalizado
uv run check http://localhost:3002 --endpoint /api/formaction
# Probar múltiples objetivos desde un archivo
uv run check --file targets.txt
# Guardar hosts vulnerables en un archivo
uv run check --file targets.txt -o vulnerable.txt
# Aumentar el tiempo de espera para conexiones lentas
uv run check http://localhost:3002 --timeout 15
# Deshabilitar la verificación SSL (para certificados autofirmados)
uv run check http://localhost:3002 --no-ssl-verify
# Modo silencioso (salida mínima)
uv run check http://localhost:3002 --quiet
usage: uv run check [-h] [-f FILE] [-e ENDPOINT] [-t TIMEOUT]
[--no-ssl-verify] [-q] [-o OUTPUT] [target]
positional arguments:
target URL objetivo (p. ej., http://target.com:3000)
optional arguments:
-h, --help Muestra este mensaje de ayuda y sale
-f, --file FILE Archivo que contiene URLs objetivo (una por línea)
-e, --endpoint Ruta del endpoint de la API (por defecto: /formaction)
-t, --timeout Tiempo de espera de la solicitud en segundos (por defecto: 10)
--no-ssl-verify Deshabilita la verificación del certificado SSL
-q, --quiet Modo silencioso (salida mínima)
-o, --output OUTPUT Archivo de salida para escribir hosts vulnerables
0 - El objetivo NO es vulnerable1 - El objetivo SÍ es vulnerable130 - Usuario interrumpió (Ctrl+C)# uv run check http://localhost:3002
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Testing http://localhost:3002/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✓ VULNERABLE
→ Gadget: vm#runInThisContext: ✓ VULNERABLE
→ Gadget: child_process#execSync: ✓ VULNERABLE
→ Gadget: module#_load: ✓ VULNERABLE
→ Gadget: fs#readFileSync: ✓ VULNERABLE
→ Gadget: util#promisify: ✗ Not vulnerable
→ Safe Side-Channel Detection: ✗ Not vulnerable
→ RCE PoC (Unix/Linux): ✗ Not vulnerable
→ RCE PoC (Windows): ✗ Not vulnerable
→ RCE with WAF Bypass (Unix/Linux): ✗ Not vulnerable
→ RCE with WAF Bypass (Windows): ✗ Not vulnerable
→ Advanced WAF Bypass (Unix/Linux): ✗ Not vulnerable
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:3002
Endpoint: /formaction
Techniques Tested: Multiple
Successful Techniques: 5 techniques detected vulnerability
Status: ⚠️ VULNERABLE
The target appears to be vulnerable to CVE-2025-55182.
Techniques that detected vulnerability:
-> Gadget: fs#constructor
-> Gadget: vm#runInThisContext
-> Gadget: child_process#execSync
-> Gadget: module#_load
-> Gadget: fs#readFileSync
Recommendation: Apply security patches immediately.
======================================================================
# uv run check http://localhost:8000
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Testing http://localhost:8000/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✗ Not vulnerable
→ Gadget: vm#runInThisContext: ✗ Not vulnerable
→ Gadget: child_process#execSync: ✗ Not vulnerable
→ Gadget: module#_load: ✗ Not vulnerable
→ Gadget: fs#readFileSync: ✗ Not vulnerable
→ Gadget: util#promisify: ✗ Not vulnerable
→ Safe Side-Channel Detection: ✗ Not vulnerable
→ RCE PoC (Unix/Linux): ✗ Not vulnerable
→ RCE PoC (Windows): ✗ Not vulnerable
→ RCE with WAF Bypass (Unix/Linux): ✗ Not vulnerable
→ RCE with WAF Bypass (Windows): ✗ Not vulnerable
→ Advanced WAF Bypass (Unix/Linux): ✗ Not vulnerable
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:8000
Endpoint: /formaction
Techniques Tested: Multiple
Status: ✓ NOT VULNERABLE
The target does not appear to be vulnerable to CVE-2025-55182.
All detection techniques failed to confirm vulnerability.
======================================================================
El script permite probar múltiples hosts a la vez.
# Crea un archivo con URLs objetivo (una por línea)
echo "http://localhost:3002" > targets.txt
echo "http://localhost:8000" >> targets.txt
# Ejecuta el escaneo por lotes
uv run check --file targets.txt -o vulnerable.txt
Salida:
======================================================================
CVE-2025-55182 Vulnerability Detector - Enhanced Edition
Multiple Detection Techniques | Comprehensive Coverage
======================================================================
[*] Loaded 2 target(s) from file
[*] Testing target 1/2
[*] Testing http://localhost:3002/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✓ VULNERABLE
→ Gadget: vm#runInThisContext: ✓ VULNERABLE
[... additional techniques ...]
======================================================================
DETECTION RESULTS
======================================================================
Target: http://localhost:3002
Endpoint: /formaction
Techniques Tested: Multiple
Successful Techniques: 5 techniques detected vulnerability
Status: ⚠️ VULNERABLE
[... details ...]
======================================================================
[*] Testing target 2/2
[*] Testing http://localhost:8000/formaction
[*] Testing all detection techniques...
→ Gadget: fs#constructor: ✗ Not vulnerable
[... all techniques fail ...]
----------------------------------------------------------------------
Target: http://localhost:8000
Endpoint: /formaction
Techniques Tested: Multiple
Status: ✓ NOT VULNERABLE
----------------------------------------------------------------------
======================================================================
SUMMARY
======================================================================
Total targets tested: 2
Vulnerable: 1
Not vulnerable: 1
======================================================================
[+] Wrote 1 vulnerable host(s) to vulnerable.txt
Estas técnicas comprueban si módulos y funciones específicos de Node.js son accesibles a través de la vulnerabilidad. Todas utilizan operaciones seguras y no destructivas:
1+1echo testpath/dev/null (archivo seguro del sistema)echo $((41*271))41*271Diferentes entornos pueden bloquear ciertos enfoques mientras permiten otros:
child_process pero permiten el módulo vmCVE-2025-55182 es una vulnerabilidad que afecta a ciertas aplicaciones React/Next.js que utilizan Server Actions. La vulnerabilidad permite a atacantes ejecutar código arbitrario en el servidor a través de la deserialización no segura de datos controlados por el usuario.
$ACTION_*Si descubre vulnerabilidades utilizando esta herramienta:
Para problemas, preguntas o mejoras, consulte la documentación principal del proyecto.
Esta herramienta se proporciona únicamente para fines educativos y de pruebas de seguridad autorizadas.
Recuerde: Un gran poder conlleva una gran responsabilidad. Utilice esta herramienta de manera ética y legal.