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安全, 前端安全, 反序列化, 安全漏洞, 数字签名, 数据可视化, 暴力破解, 服务器端渲染, 漏洞分析, 编程工具, 网络安全, 蓝队分析, 路径探测, 远程代码执行, 隐私保护, 高危漏洞