知海

React 服务器组件严重安全漏洞

React博客-新闻

原文链接:https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components


2025 年 12 月 3 日,React 团队


React 服务器组件(React Server Components)中存在一个未经验证的远程代码执行漏洞。建议立即升级。


11 月 29 日,Lachlan Davidson 报告了 React 中的一个安全漏洞,该漏洞利用 React 解码发送到 React Server Function 端点的负载时的缺陷,可实现未经验证的远程代码执行。

即使你的应用没有实现任何 React Server Function 端点,只要你的应用支持 React Server Components,则仍可能受到影响。

该漏洞已披露为 CVE-2025-55182,CVSS 评分为 10.0。

以下版本的包中存在此漏洞:

影响版本:19.0、19.1.0、19.1.1 和 19.2.0

需要立即采取的行动 {/immediate-action-required/}

修复已包含在版本 19.0.119.1.219.2.1 中。如果你正在使用上述任何包,请立即升级到任何已修复的版本。

如果你的应用的 React 代码未使用服务器,则你的应用不受此漏洞影响。如果你的应用未使用支持 React Server Components 的框架、打包器或打包器插件,则你的应用不受此漏洞影响。

受影响的框架和打包器 {/affected-frameworks-and-bundlers/}

一些 React 框架和打包器依赖、对等依赖或包含了易受攻击的 React 包。以下 React 框架和打包器受到影响:nextreact-routerwaku@parcel/rsc@vitejs/plugin-rscrwsdk

请参阅下面的更新说明了解如何升级到这些补丁版本。

托管提供商的缓解措施 {/hosting-provider-mitigations/}

我们已与多家托管提供商合作,应用了临时缓解措施。

你不应依赖这些措施来保护你的应用,仍应立即更新。

漏洞概述 {/vulnerability-overview/}

React Server Functions 允许客户端调用服务器上的函数。React 提供了集成点和工具,供框架和打包器使用,以帮助 React 代码在客户端和服务器上运行。React 将客户端的请求转换为 HTTP 请求,并将其转发到服务器。在服务器上,React 将 HTTP 请求转换为函数调用,并将所需数据返回给客户端。

未经验证的攻击者可以向任意 Server Function 端点构造恶意 HTTP 请求,当 React 反序列化该请求时,即可在服务器上实现远程代码执行。有关该漏洞的更多详细信息将在修复程序完全发布后提供。

更新说明 {/update-instructions/}

这些说明已更新,包含新的漏洞:

请参阅后续博客文章了解更多信息。


更新于 2026 年 1 月 26 日。

Next.js {/update-next-js/}

所有用户都应升级到其发布线的最新修补版本:

bash 复制代码
npm install next@14.2.35  // 适用于 13.3.x、13.4.x、13.5.x、14.x
npm install next@15.0.8   // 适用于 15.0.x
npm install next@15.1.12  // 适用于 15.1.x
npm install next@15.2.9   // 适用于 15.2.x
npm install next@15.3.9   // 适用于 15.3.x
npm install next@15.4.11  // 适用于 15.4.x
npm install next@15.5.10  // 适用于 15.5.x
npm install next@16.0.11  // 适用于 16.0.x
npm install next@16.1.5   // 适用于 16.1.x

npm install next@15.6.0-canary.60   // 适用于 15.x canary 版本
npm install next@16.1.0-canary.19   // 适用于 16.x canary 版本

版本:15.0.8、15.1.12、15.2.9、15.3.9、15.4.10、15.5.10、15.6.0-canary.61、16.0.11、16.1.5

如果你使用的是 13.3 或更高版本的 Next.js 13(13.3.x13.4.x13.5.x),请升级到 14.2.35

如果你使用的是 next@14.3.0-canary.77 或更高版本的 canary 版本,请降级到最新的稳定 14.x 版本:

bash 复制代码
npm install next@14

有关最新的更新说明,请参阅 Next.js 博客,更多信息请参阅以前的变更日志

React Router {/update-react-router/}

如果你正在使用 React Router 的不稳定 RSC API,则应升级以下 package.json 依赖项(如果存在):

bash 复制代码
npm install react@latest
npm install react-dom@latest
npm install react-server-dom-parcel@latest
npm install react-server-dom-webpack@latest
npm install @vitejs/plugin-rsc@latest

Expo {/expo/}

要了解有关缓解措施的更多信息,请阅读 expo.dev/changelog 上的文章。

Redwood SDK {/update-redwood-sdk/}

确保你使用的是 rwsdk>=1.0.0-alpha.0

对于最新的 beta 版本:

bash 复制代码
npm install rwsdk@latest

升级到最新的 react-server-dom-webpack

bash 复制代码
npm install react@latest react-dom@latest react-server-dom-webpack@latest

有关更多迁移说明,请参阅 Redwood 文档

Waku {/update-waku/}

升级到最新的 react-server-dom-webpack

bash 复制代码
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest

有关更多迁移说明,请参阅 Waku 公告

@vitejs/plugin-rsc {/vitejs-plugin-rsc/}

升级到最新的 RSC 插件:

bash 复制代码
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

react-server-dom-parcel {/update-react-server-dom-parcel/}

更新到最新版本:

bash 复制代码
npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack {/update-react-server-dom-turbopack/}

更新到最新版本:

bash 复制代码
npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack {/update-react-server-dom-webpack/}

更新到最新版本:

bash 复制代码
npm install react@latest react-dom@latest react-server-dom-webpack@latest

React Native {/react-native/}

对于不使用 monorepo 或 react-dom 的 React Native 用户,你的 react 版本应固定在 package.json 中,并且无需额外步骤。

如果你在 monorepo 中使用 React Native,则应仅更新已安装的受影响包:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

这是缓解安全公告所必需的,但你不需要更新 reactreact-dom,因此不会导致 React Native 中的版本不匹配错误。

有关更多信息,请参阅此 issue

时间线 {/timeline/}

  • 11 月 29 日:Lachlan Davidson 通过 Meta Bug Bounty 报告了该安全漏洞。
  • 11 月 30 日:Meta 安全研究人员确认了该漏洞,并开始与 React 团队合作修复。
  • 12 月 1 日:修复程序创建完成,React 团队开始与受影响的托管提供商和开源项目合作,以验证修复程序、实施缓解措施并部署修复。
  • 12 月 3 日:修复程序已发布到 npm,并作为 CVE-2025-55182 公开披露。

致谢 {/attribution/}

感谢 Lachlan Davidson 发现、报告并协助修复此漏洞。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。