自 React2Shell RCE (CVE-2025-55182) 发布以来,我们一直在对其进行研究,并与客户一起致力于防范此漏洞。我们开源此测试服务器,用于发现和测试 React2Shell CVE-2025-55182 漏洞。安全团队可使用它来测试其检测能力、验证 WAF 规则,并在受控环境中理解利用机制。
该漏洞存在于 React Server Components 的 "Flight" 协议反序列化中。不安全的反序列化在处理特制 payload 时,允许攻击者控制的数据影响服务端执行。
CVE-2025-55182 (React2Shell)
受影响版本:
| 软件包 | 受影响版本 | 已修复版本 |
|---|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js | 15.0.4 - 16.0.6 | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
| react-server-dom-webpack | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| react-server-dom-turbopack | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| react-server-dom-parcel | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
此服务器使用: React 19.0.0 和 Next.js 15.0.4
受影响的框架:
cd react2shell-test-server
docker-compose up --build
# Or run in detached mode
docker-compose up -d --build
# View logs
docker-compose logs -f
# Stop the container
docker-compose down
cd react2shell-test-server
npm install
npm run dev
# Production build (also vulnerable)
npm run build
npm start
应用可在 http://localhost:3000 访问
npm install
cd react2shell-test-server
sudo docker build -t react2shell-test-server .
sudo docker run -it --rm -p 3000:3000 react2shell-test-server
更新 React:
npm update react react-dom react-server-dom-webpack
更新 Next.js:
npm update next
已修复版本:
FullHunt 是下一代攻击面管理平台。FullHunt 使企业能够发现其所有攻击面,监控其暴露情况,并持续扫描以发现最新的安全漏洞。所有这些都在一个平台中实现,甚至更多。
FullHunt 为组织提供企业级平台。FullHunt 企业平台为客户提供扩展的扫描和能力。FullHunt 企业平台允许组织密切监控其外部攻击面,并就发生的每一次更改获取详细警报。世界各地的组织使用 FullHunt 企业平台来解决其持续安全和外部攻击面安全挑战。
本项目仅用于教育和道德测试目的。在未经事先双方同意的情况下,使用 react2shell-test-server 攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发人员不承担任何责任,也不对由本程序引起的任何误用或损害负责。
本项目基于 MIT 许可证授权。
Mazin Ahmed