Sploitus

Exploit for React2Shell-Scanner

kitploit · 2026-09-05

Exploit Code

MARKDOWN179 lines
## 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。然而:

  * 请仅在您拥有或已获得明确授权的系统上使用本工具
  * 该工具可能会在目标服务器上生成错误日志
  * 请负责任地使用,并遵守相关法律法规



## 免责声明

本工具按“原样”提供,不附带任何担保。作者不对因使用本工具而导致的任何滥用或损害承担责任。在测试任何系统之前,请务必确保您已获得适当授权。