React (CVE-2025-55182) 和 Next.js (CVE-2025-66478) 存在严重的远程代码执行 (RCE) 漏洞
2025年12月3日,React团队公开披露了CVE-2025-55182,这是React Server Components中的一个严重漏洞,允许未经身份验证的远程代码执行。该漏洞源于react-server包对React Server Components“Flight”协议处理中不安全的反序列化。 该漏洞的 CVSS 评分为 10.0(严重)。攻击者可以通过向任何 React 服务器函数端点发送特制的 HTTP 请求来利用此漏洞,从而在无需身份验证的情况下执行代码。
2025年12月3日,React团队公开披露了CVE-2025-55182,这是React Server Components中的一个严重漏洞,允许未经身份验证的远程代码执行。该漏洞源于react-server包对React Server Components“Flight”协议处理中不安全的反序列化。
该漏洞的 CVSS 评分为 10.0(严重)。攻击者可以通过向任何 React 服务器函数端点发送特制的 HTTP 请求来利用此漏洞,从而在无需身份验证的情况下执行代码。
即使没有显式实现 React Server Function 端点,使用 React Server Components 的应用程序也存在风险。该漏洞会影响常用框架的默认配置,包括 Next.js(漏洞编号为 CVE-2025-66478)以及其他捆绑了 react-server 实现的框架。
没有服务器端 React 代码或不支持 React 服务器组件的框架的应用程序不受影响。
受影响版本
以下软件包和版本存在漏洞:
React:
react-server-dom-parcel: 19.1.0-19.1.1、19.2.0(包括 Canary 版本)
react-server-dom-turbopack: 19.0.0、19.1.0-19.1.1、19.2.0(包括 Canary 版本)
react-server-dom-webpack: 19.0.0、19.1.0-19.1.1、19.2.0(包括 canary 版本)
任何捆绑了 react-server 实现的框架或库都可能存在漏洞,尤其是 Next.js。
Next.js:
14.3.0-canary.77 及更高版本(带 App Router)
所有 15.x 版本
所有 16.x 版本
其他框架:
React Router (RSC preview)
Waku
Parcel RSC plugin (@parcel/rsc)
Vite RSC plugin (@vitejs/plugin-rsc)
RedwoodJS (rwsdk)
发现和披露时间表
2024年11月29日:Lachlan Davidson通过Meta的漏洞赏金计划报告了该漏洞。
11月30日:Meta安全研究人员确认了该问题,并开始与React团队协调解决。
12月1日:修复方案已制定;开始与托管服务提供商和开源项目进行协调
12月3日:已修复版本发布至npm并公开披露
漏洞工作原理
React 服务器端函数允许客户端调用服务器端的函数。React 提供了一些集成点,框架和打包工具可以利用这些集成点在客户端和服务器端运行 React 代码。框架会将客户端请求转换为转发到服务器的 HTTP 请求,然后 React 会将 HTTP 请求转换为函数调用。
该漏洞存在于 react-server 包通过“Flight”协议处理 React Server Components 有效负载的方式中。这是一个逻辑上不安全的序列化漏洞,服务器无法正确验证传入的 RSC 有效负载的结构。
当服务器收到格式错误、攻击者精心构造的有效载荷时,验证失败会导致攻击者控制的数据影响服务器端的执行逻辑。这会导致在服务器上下文中执行特权 JavaScript 代码。
该攻击途径既远程又无需身份验证。攻击者只需拥有网络访问权限,即可向任何服务器函数端点发送精心构造的 HTTP 请求。该漏洞影响默认框架配置,这意味着即使没有特殊条件,标准部署也立即会被利用。
范围和影响
该漏洞的严重性、易利用性和框架的广泛采用性,使其面临巨大的风险。该漏洞会影响默认配置的应用程序,无需任何特殊设置或特殊场景即可利用。
React 服务器组件是现代 React 应用中一种重要的架构模式,尤其是在采用 Next.js 应用路由和类似以服务器为中心的架构之后。这种模式在整个 React 生态系统中的广泛应用意味着该漏洞的影响范围很广。
检测与缓解
检查您的应用程序依赖项:
检查 package.json 和 package-lock.json 文件,确保其中包含 React 版本 19.0、19.1.0、19.1.1 或 19.2.0。
检查 Next.js 版本是否介于 14.3.77-canary 和 16.x 之间(并启用 App Router)。
确定您的应用程序是否使用了 React Server Components 或任何支持 RSC 的框架。
验证您的应用程序是否实现了服务器端 React 代码
仅在客户端运行 React 或未使用支持 React 服务器组件的框架的应用程序不会受到攻击。
修复建议
官方已发布修复方案,请访问链接下载: https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
该漏洞的 CVSS 评分为 10.0(严重)。攻击者可以通过向任何 React 服务器函数端点发送特制的 HTTP 请求来利用此漏洞,从而在无需身份验证的情况下执行代码。
即使没有显式实现 React Server Function 端点,使用 React Server Components 的应用程序也存在风险。该漏洞会影响常用框架的默认配置,包括 Next.js(漏洞编号为 CVE-2025-66478)以及其他捆绑了 react-server 实现的框架。
没有服务器端 React 代码或不支持 React 服务器组件的框架的应用程序不受影响。
受影响版本
以下软件包和版本存在漏洞:
React:
react-server-dom-parcel: 19.1.0-19.1.1、19.2.0(包括 Canary 版本)
react-server-dom-turbopack: 19.0.0、19.1.0-19.1.1、19.2.0(包括 Canary 版本)
react-server-dom-webpack: 19.0.0、19.1.0-19.1.1、19.2.0(包括 canary 版本)
任何捆绑了 react-server 实现的框架或库都可能存在漏洞,尤其是 Next.js。
Next.js:
14.3.0-canary.77 及更高版本(带 App Router)
所有 15.x 版本
所有 16.x 版本
其他框架:
React Router (RSC preview)
Waku
Parcel RSC plugin (@parcel/rsc)
Vite RSC plugin (@vitejs/plugin-rsc)
RedwoodJS (rwsdk)
发现和披露时间表
2024年11月29日:Lachlan Davidson通过Meta的漏洞赏金计划报告了该漏洞。
11月30日:Meta安全研究人员确认了该问题,并开始与React团队协调解决。
12月1日:修复方案已制定;开始与托管服务提供商和开源项目进行协调
12月3日:已修复版本发布至npm并公开披露
漏洞工作原理
React 服务器端函数允许客户端调用服务器端的函数。React 提供了一些集成点,框架和打包工具可以利用这些集成点在客户端和服务器端运行 React 代码。框架会将客户端请求转换为转发到服务器的 HTTP 请求,然后 React 会将 HTTP 请求转换为函数调用。
该漏洞存在于 react-server 包通过“Flight”协议处理 React Server Components 有效负载的方式中。这是一个逻辑上不安全的序列化漏洞,服务器无法正确验证传入的 RSC 有效负载的结构。
当服务器收到格式错误、攻击者精心构造的有效载荷时,验证失败会导致攻击者控制的数据影响服务器端的执行逻辑。这会导致在服务器上下文中执行特权 JavaScript 代码。
该攻击途径既远程又无需身份验证。攻击者只需拥有网络访问权限,即可向任何服务器函数端点发送精心构造的 HTTP 请求。该漏洞影响默认框架配置,这意味着即使没有特殊条件,标准部署也立即会被利用。
范围和影响
该漏洞的严重性、易利用性和框架的广泛采用性,使其面临巨大的风险。该漏洞会影响默认配置的应用程序,无需任何特殊设置或特殊场景即可利用。
React 服务器组件是现代 React 应用中一种重要的架构模式,尤其是在采用 Next.js 应用路由和类似以服务器为中心的架构之后。这种模式在整个 React 生态系统中的广泛应用意味着该漏洞的影响范围很广。
检测与缓解
检查您的应用程序依赖项:
检查 package.json 和 package-lock.json 文件,确保其中包含 React 版本 19.0、19.1.0、19.1.1 或 19.2.0。
检查 Next.js 版本是否介于 14.3.77-canary 和 16.x 之间(并启用 App Router)。
确定您的应用程序是否使用了 React Server Components 或任何支持 RSC 的框架。
验证您的应用程序是否实现了服务器端 React 代码
仅在客户端运行 React 或未使用支持 React 服务器组件的框架的应用程序不会受到攻击。
修复建议
官方已发布修复方案,请访问链接下载: https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components


评论0次