威胁动态

CVE-2026-126187 — React Server Components 中的未认证远程代码执行(react-server-dom-* 已在 19.0.9、19.1.10、19.2.9 和 19.3.1 中修复):解析与对策

CVE-2026-126187:react-server-dom-webpack、-parcel、-turbopack 中的未认证RCE(CVSS v4 9.5),条件苛刻。已在19.0.9、19.1.10、19.2.9、19.3.1修复

发布于 2026-11-12 更新于 2026-11-12 最后核实 2026-11-12 3 分钟阅读
本页目录

这是一篇关于 React 的 Server Components 软件包中一个可导致未认证远程代码执行的反序列化缺陷的解析。本文从防御方的角度说明发生了什么、谁受影响以及如何应对,不涉及攻击步骤。

公告摘要 — ADVISORY
CVE
CVE-2026-126187(GHSA-xqc2-xf4c-x3h3;React: Unauthenticated Remote Code Execution in React Server Components)
严重度
CVSS v4.0 9.5(Critical;向量 AV:N/AC:L/AT:P/PR:N/UI:N;由 GitHub 分配)。截至2026年11月11日,NVD 的分析尚未完成
类型
不可信数据反序列化(CWE-502)
影响
通过精心构造的载荷实现未认证的远程代码执行。公告称,它只影响响应中同时传输多个类型化数组和攻击者可控值这种极为罕见的情形
受影响
react-server-dom-webpack、-parcel 和 -turbopack 的 19.0.0 至 19.0.8、19.1.0 至 19.1.9、19.2.0 至 19.2.8 以及 19.3.0
修复
19.0.9 / 19.1.10 / 19.2.9 / 19.3.1(2026年10月14日发布)
发布
2026年11月10日(CVE 和 GitHub 公告)
利用情况
未见利用报告。截至2026年11月12日未列入 KEV
9.5
CVSS v4(GitHub)
无需认证
远程代码执行
条件苛刻
据公告
未见利用报告
未列入 KEV

拖延的风险

无需认证,且一旦成功,代码就会在服务器上运行(对机密性、完整性和可用性的影响都很高)。条件苛刻是有利因素,但面向互联网的服务器上的缺陷一旦公开,往往就会被人研究。升级到已发布的修复版本是件小事,所以本站认为没有多少理由因为条件严格而推迟。

这是什么样的漏洞

GitHub 的公告称,针对支持 React Server Components 的框架的精心构造的载荷,可导致远程代码执行。它被归类为 CWE-502(不可信数据反序列化)。

  • 无需认证(PR:N),可通过网络利用,且无需用户交互(UI:N)。
  • 公告称,它只影响响应中同时传输多个类型化数组和攻击者可控值这种极为罕见的情形。CVSS v4 向量中的 AT:P(存在攻击前提条件)反映了这一限制(我们的解读)。
  • Server Components 在服务器上运行 React 代码。缺陷出在处理这类流量的软件包中。
  • 公告没有描述载荷如何构造,也没有说明确切条件,本站同样不描述。
  • 这一机制此前曾出现过严重缺陷。参见Next.js 和 React 漏洞概览。

受影响范围

项目详情
软件包react-server-dom-webpack / react-server-dom-parcel / react-server-dom-turbopack
受影响版本19.0.0 至 19.0.8 / 19.1.0 至 19.1.9 / 19.2.0 至 19.2.8 / 19.3.0
修复版本19.0.9 / 19.1.10 / 19.2.9 / 19.3.1
不受影响React 代码不使用服务器的应用;不使用支持 Server Components 的框架、打包工具或插件的应用(据公告)
临时解决办法 / 缓解措施公告中未找到
Next.js未找到官方声明。请检查依赖项中的 react-server-dom-* 版本
  • 版本范围来自 GitHub 公告正文。CVE 记录(由 GitHub 登记)对版本的表述不同,且其文本中有笔误,所以我们对照公告正文和 React 的发布说明交叉核对了修复版本号。
  • 这三个软件包根据您的打包工具(webpack、Parcel 或 Turbopack)安装。如果存在多个,请全部检查。

如何确认自己是否受影响

1

确认是否使用 Server Components

弄清楚您是否使用了支持 Server Components 的框架,例如 Next.js 的 App Router。根据公告,只在浏览器中运行 React 的应用不受影响。

2

在锁文件中检查 react-server-dom-* 版本

在 package-lock.json、pnpm-lock.yaml 或 yarn.lock 中搜索 react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack,看版本是否落在上述受影响范围内。即使您没有直接安装它们,也可能作为框架的依赖项存在。关于自动化依赖检查,参见使用 osv-scanner 监控依赖项。

3

检查框架版本

Next.js 等框架可能自行捆绑或固定 react-server-dom-*。请查看框架的官方发布说明和公告,看是否有针对此 CVE 的应对。我们于2026年11月12日查阅时,没有找到 Next.js 的官方声明。

今天该做什么

1

把 react-server-dom-* 升级到修复版本或更高版本(最优先)

按您使用的发布线,使用 19.0.9、19.1.10、19.2.9 或 19.3.1 或更高版本。对于直接依赖,请提升软件包版本并更新锁文件。

2

如果通过框架使用,请留意框架的更新

如果框架在内部固定了版本,请等待框架的更新,或遵循其官方指引。在没有指引期间,请自行检查依赖项版本,必要时询问维护者。只有在测试确认框架仍能正常工作之后,才使用依赖项覆盖。

3

更新后测试,然后部署

检查 Server Components 页面和 Server Actions,然后部署。更新后请再次检查锁文件中的版本。

4

查看日志

查找更新之前对 Server Components 端点的可疑请求和意外的服务器错误。未见利用报告,但日志是您唯一可以核查的证据。

利用情况

  • 公告和 CVE 记录都没有提到利用。
  • 该 CVE 未列入 CISA 的 KEV 目录(KEV 版本 2026.11.10,2026年11月12日查阅)。
  • NVD 显示为「Received」,尚未分析。CVSS v4 评分 9.5 来自 GitHub(CNA)。
  • 修复版本(10月14日)比 CVE 和公告(11月10日)早约四周发布。发布说明只描述了对传输协议的改进,没有说明这是漏洞修复。

信息来源

由于没有找到官方声明,我们不说明对 Next.js 和类似框架的影响。最后确认:2026年11月12日。

延伸阅读

FAQ

QCVE-2026-126187 是什么?
A

React 的 Server Components 软件包 react-server-dom-webpack、react-server-dom-parcel 和 react-server-dom-turbopack 中的不可信数据反序列化缺陷(CWE-502)。GitHub 的公告(GHSA-xqc2-xf4c-x3h3)称,针对支持 React Server Components 的框架的精心构造的载荷,可导致无需认证的远程代码执行。CVSS v4 为 9.5(Critical),由 GitHub 分配。

Q哪些版本受影响,哪些已修复?
A

这三个软件包的 19.0.0 至 19.0.8、19.1.0 至 19.1.9、19.2.0 至 19.2.8 以及 19.3.0。修复版本为 19.0.9、19.1.10、19.2.9 和 19.3.1,均于2026年10月14日在 React 仓库中发布。

Q我的应用是否受影响?
A

根据公告,React 代码不使用服务器的应用不受影响,不使用支持 React Server Components 的框架、打包工具或打包工具插件的应用也不受影响。公告还把影响限定在响应中同时传输多个类型化数组和攻击者可控值这种极为罕见的情形。

QNext.js 是否受影响?
A

我们没有找到官方声明。我们查看 vercel/next.js 的安全公告和发布说明时,没有一处提到此 CVE。如果您使用 Next.js 或其他带有 Server Components 的框架,请通过锁文件检查依赖项中的 react-server-dom-* 版本。

Q有临时解决办法吗?
A

公告没有列出任何临时解决办法或缓解措施。它指出的修复方式是更新到已修补的版本。

Q是否正在被利用?
A

在我们查阅的来源中,没有发现利用。截至2026年11月12日,该 CVE 未列入 CISA 的 KEV 目录,公告也没有提到利用。