一个非侵入式的检测工具,用于识别受 CVE-2025-55182(React)和 CVE-2025-66478(Next.js)影响的易受攻击的 React 服务端组件(RSC)实现。该工具通过 主动检测 发送 良性、无害的 payload 来判断服务器是否存在漏洞,而不执行任何恶意代码。
CVE-2025-55182 和 CVE-2025-66478 是 React 服务端组件(RSC)“Flight”协议中的关键未认证远程代码执行(RCE)漏洞。这些漏洞影响:
react-server-dom 版本 19.0.0、19.1.0、19.1.1 和 19.2.0漏洞源于 RSC payload 处理逻辑中的不安全反序列化,允许攻击者控制的数据影响服务器端执行。默认配置即存在漏洞——使用 create-next-app 创建的标准 Next.js 应用无需任何代码修改即可被利用。
本工具通过以下方式进行 主动漏洞检测:
工具使用三种检测方法:
loadServerReference 代码路径arrayBuffer 代码路径重要提示:本工具不会执行任何恶意代码。它仅发送精心构造的良性 payload,旨在触发能够揭示服务器漏洞状态的错误响应。
python react2shell_scanner.py --target https://example.com
python react2shell_scanner.py --target https://example.com --action-id YOUR_ACTION_ID
python react2shell_scanner.py --target https://example.com --verbose
[+] CVE-2025-55182 和 CVE-2025-66478 漏洞检测工具
[*] 目标: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] 测试1: 发送 $F(服务端引用)payload...
状态: 500, 证据: workers
[*] 测试2: 发送 $L(懒加载)payload...
状态: 500, 证据: arraybuffer
[+] 结果:
[!] 状态: 可能易受攻击
[!] 置信度: 高
[!] 证据: workers
[!] 详情: 服务器到达 loadServerReference(Flight $F 反序列化绕过)
[!] 建议: 升级至已修复版本
======================================================================
[+] CVE-2025-55182 和 CVE-2025-66478 漏洞检测工具
[*] 目标: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] 测试1: 发送 $F(服务端引用)payload...
状态: 500, 证据: could not find the module
[*] 测试2: 发送 $L(懒加载)payload...
状态: 500, 证据: in the react server manifest
[+] 结果:
[+] 状态: 大概率不易受攻击
[+] 置信度: 高
[+] 证据: could not find the module
[+] 详情: 服务器以安全错误拒绝 payload(已修复)
======================================================================
工具会查找以下表示漏洞存在的错误模式:
workers - 服务器到达 loadServerReference(高置信度)arraybuffer - 服务器到达 $L 类型处理器(高置信度)Cannot read properties of null (reading 'id') - 服务器使用 null 元数据到达 loadServerReference(高置信度)entries - 服务端 Action 接收到反序列化对象而非 FormData(中置信度)temporary client reference - 服务器处理了 $T 类型引用(中置信度)以下错误模式表示服务器已修复:
could not find the modulein the react server manifestInvalid server referenceServer reference not foundUnexpected tokenis probably a bug in the react server components bundler| 产品 | 存在漏洞的版本 | 已修复版本 |
|---|---|---|
react-server-dom | 19.0.0、19.1.0、19.1.1、19.2.0 | 19.0.1、19.1.2、19.2.1 |
| Next.js | 14.3.0-canary、15.x、16.x(App Router) | 14.3.0-canary.88、15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7 |
其他使用 RSC 的框架也可能受到影响:
需要立即操作:升级至已修复版本:
react-server-dom 升级至 19.0.1、19.1.2 或 19.2.1react-server 版本的更新信息本工具旨在用于 防御性安全测试 和 漏洞评估。它仅使用不会执行恶意代码的良性 payload。然而:
本工具按“原样”提供,不附带任何担保。作者不对因使用本工具而导致的任何滥用或损害承担责任。在测试任何系统之前,请务必确保您已获得适当授权。
| 参数 | 必需 | 默认值 | 描述 |
|---|
--target | 是 | - | 要检测的目标 URL(必须以 http:// 或 https:// 开头) |
--action-id | 否 | c67c4e1a40fcc26b5e3c0d5d17f16786f4244989 | payload 中使用的 Action ID |
--verbose, -v | 否 | False | 启用详细输出,显示响应正文 |