
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.1、19.1.2 和 19.2.1 中。如果你正在使用上述任何包,请立即升级到任何已修复的版本。
如果你的应用的 React 代码未使用服务器,则你的应用不受此漏洞影响。如果你的应用未使用支持 React Server Components 的框架、打包器或打包器插件,则你的应用不受此漏洞影响。
受影响的框架和打包器 {/affected-frameworks-and-bundlers/}
一些 React 框架和打包器依赖、对等依赖或包含了易受攻击的 React 包。以下 React 框架和打包器受到影响:next、react-router、waku、@parcel/rsc、@vitejs/plugin-rsc 和 rwsdk。
请参阅下面的更新说明了解如何升级到这些补丁版本。
托管提供商的缓解措施 {/hosting-provider-mitigations/}
我们已与多家托管提供商合作,应用了临时缓解措施。
你不应依赖这些措施来保护你的应用,仍应立即更新。
漏洞概述 {/vulnerability-overview/}
React Server Functions 允许客户端调用服务器上的函数。React 提供了集成点和工具,供框架和打包器使用,以帮助 React 代码在客户端和服务器上运行。React 将客户端的请求转换为 HTTP 请求,并将其转发到服务器。在服务器上,React 将 HTTP 请求转换为函数调用,并将所需数据返回给客户端。
未经验证的攻击者可以向任意 Server Function 端点构造恶意 HTTP 请求,当 React 反序列化该请求时,即可在服务器上实现远程代码执行。有关该漏洞的更多详细信息将在修复程序完全发布后提供。
更新说明 {/update-instructions/}
这些说明已更新,包含新的漏洞:
- 拒绝服务 - 高严重性:CVE-2025-55184 和 CVE-2025-67779(CVSS 7.5)
- 源代码泄露 - 中严重性:CVE-2025-55183(CVSS 5.3)
- 拒绝服务 - 高严重性:2026 年 1 月 26 日 CVE-2026-23864(CVSS 7.5)
请参阅后续博客文章了解更多信息。
更新于 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.x、13.4.x 或 13.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-webpackreact-server-dom-parcelreact-server-dom-turbopack
这是缓解安全公告所必需的,但你不需要更新 react 和 react-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 发现、报告并协助修复此漏洞。
帮助我们改进文档
发现翻译问题或内容错误?请告诉我们。
