React 服务器组件中的关键安全漏洞
React团队于2025年12月3日发布
React 服务器组件中存在未经身份验证的远程代码执行漏洞。
我们建议您立即升级。
11 月 29 日,Lachlan Davidson 报告称 React 中存在一个安全漏洞,该漏洞允许未经身份验证的远程代码执行,其原理是利用 React 解码发送到 React 服务器函数端点的有效负载的方式中的一个缺陷。
即使您的应用没有实现任何 React 服务器函数端点,但如果您的应用支持 React 服务器组件,它仍然可能存在安全漏洞。
该漏洞已披露为CVE-2025-55182,CVSS 评级为 10.0。
该漏洞存在于以下版本的软件中:19.0、19.1.0、19.1.1 和 19.2.0:
必须立即采取行动
版本19.0.1、19.1.2和19.2.1中已引入修复程序。如果您正在使用上述任何软件包,请立即升级到已修复的版本。
如果您的应用 React 代码未使用服务器,则您的应用不受此漏洞影响。如果您的应用未使用支持 React 服务器组件的框架、打包工具或打包工具插件,则您的应用不受此漏洞影响。
受影响的框架和打包程序
一些 React 框架和打包工具依赖于存在漏洞的 React 包,或与这些包存在对等依赖关系,或包含了这些包。受影响的 React 框架和打包工具包括:next、react-router、waku、@parcel/rsc、@vitejs/plugin-rsc和rwsdk。
我们将在此帖中更新升级说明,并在升级说明发布后提供相关信息。
托管服务提供商缓解措施
我们已与多家主机托管服务商合作,采取临时缓解措施。
您不应依赖这些措施来保护您的应用程序,仍需立即更新。
漏洞概述
React 服务器端函数允许客户端调用服务器上的函数。React 提供了一系列集成点和工具,供框架和打包工具使用,以帮助 React 代码在客户端和服务器端同时运行。React 将客户端请求转换为 HTTP 请求,并将其转发到服务器。在服务器端,React 将 HTTP 请求转换为函数调用,并将所需数据返回给客户端。
未经身份验证的攻击者可以构造恶意 HTTP 请求,发送到任何服务器函数端点。当 React 反序列化该请求时,攻击者即可在服务器上执行远程代码。漏洞的更多详细信息将在修复程序发布完成后提供。
更新说明
Next.js
所有用户都应升级到其版本系列中的最新补丁版本:
npm install next@15.0.5 // for 15.0.x
npm install next@15.1.9 // for 15.1.x
npm install next@15.2.6 // for 15.2.x
npm install next@15.3.6 // for 15.3.x
npm install next@15.4.8 // for 15.4.x
npm install next@15.5.7 // for 15.5.x
npm install next@16.0.7 // for 16.0.x
如果您使用的是 Next.js 14.3.0-canary.77 或更高版本的 canary 版本,请降级到最新的稳定版 14.x:
npm install next@14
更多信息请参阅Next.js 更新日志。
React Router
如果您使用的是 React Router 不稳定的 RSC API,则应升级 package.json 文件中存在的以下依赖项:
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