## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CYMULATERESEARCH-REACT2SHELL-SCANNER
# CVE-2025-55182 和 CVE-2025-66478 漏洞检测工具
一个非侵入式的检测工具,用于识别受 CVE-2025-55182(React)和 CVE-2025-66478(Next.js)影响的易受攻击的 React 服务端组件(RSC)实现。该工具通过 **主动检测** 发送 **良性、无害的 payload** 来判断服务器是否存在漏洞,而不执行任何恶意代码。
## 概述
**CVE-2025-55182** 和 **CVE-2025-66478** 是 React 服务端组件(RSC)“Flight”协议中的关键未认证远程代码执行(RCE)漏洞。这些漏洞影响:
* **React** :`react-server-dom` 版本 19.0.0、19.1.0、19.1.1 和 19.2.0
* **Next.js** :版本 14.3.0-canary、15.x 和 16.x(App Router)
漏洞源于 RSC payload 处理逻辑中的不安全反序列化,允许攻击者控制的数据影响服务器端执行。**默认配置即存在漏洞** ——使用 `create-next-app` 创建的标准 Next.js 应用无需任何代码修改即可被利用。
## 工作原理
本工具通过以下方式进行 **主动漏洞检测** :
1. **发送良性测试 payload** ,触发易受攻击的代码路径而不执行恶意代码
2. **分析错误响应** 中的独特特征,判断服务器是否触发了漏洞或修复后的代码路径
3. **提供置信度等级** (高、中、低),基于发现的证据
工具使用三种检测方法:
* **$F 类型(服务端引用)** :测试 `loadServerReference` 代码路径
* **$L 类型(懒加载)** :测试 `arrayBuffer` 代码路径
* Assetnote 的检测方法
**重要提示** :本工具不会执行任何恶意代码。它仅发送精心构造的良性 payload,旨在触发能够揭示服务器漏洞状态的错误响应。
### 基本用法
root@kitploit:~
python react2shell_scanner.py --target https://example.com
### 使用自定义 Action ID
root@kitploit:~
python react2shell_scanner.py --target https://example.com --action-id YOUR_ACTION_ID
### 详细输出
root@kitploit:~
python react2shell_scanner.py --target https://example.com --verbose
### 命令行参数
## 示例输出
### 存在漏洞的服务器
root@kitploit:~
[+] 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 反序列化绕过)
[!] 建议: 升级至已修复版本
======================================================================
### 已修复的服务器
root@kitploit:~
[+] 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 module`
* `in the react server manifest`
* `Invalid server reference`
* `Server reference not found`
* `Unexpected token`
* `is 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 的框架也可能受到影响:
* Vite RSC 插件
* Parcel RSC 插件
* React Router RSC 预览版
* RedwoodSDK
* Waku
## 修复建议
**需要立即操作** :升级至已修复版本:
* **React** :将 `react-server-dom` 升级至 19.0.1、19.1.2 或 19.2.1
* **Next.js** :升级至最新的修复版本(参见上表)
* **其他 RSC 框架** :查看官方渠道获取关于内嵌 `react-server` 版本的更新信息
## 安全声明
本工具旨在用于 **防御性安全测试** 和 **漏洞评估** 。它仅使用不会执行恶意代码的良性 payload。然而:
* 请仅在您拥有或已获得明确授权的系统上使用本工具
* 该工具可能会在目标服务器上生成错误日志
* 请负责任地使用,并遵守相关法律法规
## 免责声明
本工具按“原样”提供,不附带任何担保。作者不对因使用本工具而导致的任何滥用或损害承担责任。在测试任何系统之前,请务必确保您已获得适当授权。