Sploitus

Exploit for cve-2025-55182-lab

kitploit · 2026-09-01

Exploit Code

MARKDOWN135 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-L0LSEC-CVE-2025-55182-LAB
# CVE-2025-55182 RSC lab(有意存在漏洞)

用于授权安全研究的本地 **Docker** 实验环境:**React Server Components** / **Next.js App Router** ,其技术栈处于 **CVE-2025-55182** (React2Shell)受影响版本范围内。

**仅限在您自己的机器上使用。请勿将此容器暴露在互联网上。**

## 参考资料

  * React——React Server Components 中的严重安全漏洞
  * NVD——CVE-2025-55182
  * Next.js 安全公告(适用于您发布版本的升级路径)



## 此实验环境运行的内容

组件| 版本| 说明  
---|---|---  
**Next.js**| `15.1.0`| 补丁前版本;npm 会警告已知问题  
**React / react-dom**| `19.2.0`| 属于此 CVE 影响的 19.x 版本线  
**RSC 管道**|  随 Next 捆绑| 通过 Next 编译后的 `react-server-dom-*` 实现反序列化  
  
该应用是一个极简的 **App Router** 页面,包含一个 **Server Action** ,因此带有 `Next-Action` 头的 `POST /` 表现得像真实目标。

## 前提条件

  * Docker 和 **Docker Compose v2**
  * Docker 引擎正在运行(例如 Docker Desktop)



## 快速启动

root@kitploit:~
    
    
    git clone https://github.com/l0lsec/cve-2025-55182-lab.git
    cd cve-2025-55182-lab
    
    # 构建并在后台运行
    docker compose up --build -d
    

打开 **http://localhost:3000** —— 您应该看到“RSC lab(有意存在漏洞)”和一个小的表单。

### 验证是否启动

root@kitploit:~
    
    
    curl -sS -o /dev/null -w "%{http_code}\n" http://127.0.0.1:3000/
    # 预期:200
    

### 日志

root@kitploit:~
    
    
    docker compose logs -f
    

### 停止

root@kitploit:~
    
    
    docker compose down
    

## 使用 Burp Suite 进行测试

  1. 将 **Target** 设置为 `http://localhost:3000`(或通过 Burp 建立隧道)。
  2. 发送 **`POST /`** ,携带 **`Content-Type: multipart/form-data`** 和您的 Flight 协议漏洞利用主体(多部分字段 `0`、`1`、`2`,如公开文章/您的模板所示)。
  3. **`Next-Action` 头**
     * 尝试拦截一个正常的表单提交,并从该请求中复制真实的 `Next-Action` 值,**或者**
     * 检查页面 HTML:操作 ID 出现在隐藏字段/RSC 载荷中(**重建镜像时可能会改变** )。



示例头格式:

root@kitploit:~
    
    
    Next-Action: <action-id-from-intercepted-request>
    

如果通用占位符不起作用,请始终在代理历史中执行一次合法提交后优先使用**实时** ID。

### 样本原始请求

可直接粘贴的 **`POST /`** 多部分模板位于 **`burp-payloads/`** (例如 `id`、`whoami`、基于时间的 `sleep`、OOB 占位符)。请参阅 `burp-payloads/README.md` 了解文件索引。发送前,请将 OOB 模板中的 **`YOUR-COLLABORATOR-HOST`** 替换为实际值。

## 项目布局

root@kitploit:~
    
    
    .
    ├── Dockerfile              # 多阶段构建,Next standalone,端口 3000
    ├── docker-compose.yml      # 将主机 3000 端口映射到容器 3000 端口
    ├── burp-payloads/          # 用于 Burp Repeater 的原始 *.http 文件 + 索引 README
    ├── app/
    │   ├── layout.tsx
    │   └── page.tsx            # Server Action + 实验 UI
    ├── public/
    ├── package.json
    ├── package-lock.json
    └── next.config.ts          # output: "standalone"
    

## 开发(不使用 Docker)

root@kitploit:~
    
    
    npm install
    npm run dev
    # http://localhost:3000
    

对于 CVE 复现,建议使用 **Docker** 镜像,以确保技术栈与固定存在漏洞的依赖项一致。

## 完成测试后

  * **销毁** 容器和镜像(若不再需要)。
  * 根据供应商指南,将任何真实应用升级到已修补的 Next.js/React 版本——此仓库**并非** 安全基线。



## 许可证

仅用于教学/实验。您有责任遵守您所在地区的法律和政策。无任何保证。