UCloud-202512-001:React Server Components远程代码执行漏洞安全警告

漏洞详情

该漏洞源自 React Server Components(RSC)与 React Server Functions 在服务端处理客户端载荷时的反序列化缺陷。RSC 使用 "Flight" 协议在客户端与服务器之间传输组件树与 Server Actions 参数,而 React Server Functions 则允许客户端通过序列化调用服务器端函数。这两类机制均依赖由 React 集成工具自动完成的序列化与反序列化流程。

由于 react-server 及其相关包(react-server-dom-parcel、react-server-dom-turbopack、react-server-dom-webpack)在解析客户端提交的 Flight 请求和 Server Function 调用载荷时未对对象结构与类型进行严格校验,攻击者可以构造畸形的恶意 Payload,使服务端反序列化逻辑将特定字段错误还原为可执行函数或内部指令。

在缺乏身份验证的情况下,此类恶意序列化对象可直接触发服务器端代码执行(RCE),最终使攻击者在服务器进程上下文中运行任意 JavaScript。该问题本质上是典型的不安全反序列化漏洞,在 RSC 为支持复杂对象传递而设计的灵活机制中被放大为远程利用入口。

该漏洞影响 react-server-dom-parcel、react-server-dom-turbopack、react-server-dom-webpack 的多个版本(19.0.0、19.1.0、19.1.1、19.2.0),对应编号为 CVE-2025-55182 与已被撤回的 CVE-2025-66478。

UCloud安全中心已成功复现并利用该漏洞实现远程代码执行,鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。

影响范围

一、React 与相关 RSC 实现

以下 React 版本在 react-server 与 react-server-dom-* 反序列化逻辑中存在漏洞,均受影响:

  • React 19.0.0

  • React 19.0.1

  • React 19.1.x

  • React 19.1.0

  • React 19.1.1

  • React 19.2.0

受影响的相关包包括:

  • react-server

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

二、Next.js(基于 App Router + RSC 的应用)

由于 Next.js 深度集成 React Server Components,下列版本全部受影响:

  • Next.js 15.x 全版本(15.0.0 – 15.5.6 等全部)

  • Next.js 16.x 全版本(16.0.0 – 16.0.6 等全部)

  • Next.js 15.1.x / 15.2.x / 15.5.x 子系列全部受影响

  • Next.js 14.3.0-canary.77 及之后的所有 Canary 版本

三、其他受影响框架/生态

所有使用官方 RSC 实现的框架或自建架构,包括:

  • Waku

  • RedwoodJS(RSC 模式)

  • 自行集成 react-server-dom-webpack / parcel / turbopack 的项目

四、不受影响的情况

以下场景不受影响:

  • Next.js 13.x 全版本

  • Next.js 14.x 稳定版(非 Canary)

  • 使用 Pages Router 的 Next.js 应用(仅 Client Components)

  • Edge Runtime 应用

修复方案

  1. React 核心包升级

官方已提供修复版本,必须将 React 及其服务器组件包升级至最新版本:

  • React 19.0.1(修复19.0.0)

  • React 19.1.2(修复19.1.0和19.1.1)

  • React 19.2.1(修复19.2.0)

升级React核心包到最新版本

npm install react@latest react-dom@latest

升级受影响的服务器组件包

npm install react-server-dom-webpack@latest

npm install react-server-dom-parcel@latest

npm install react-server-dom-turbopack@latest

  1. 框架特定升级措施

使用React Server Components和App Router的Next.js应用需要立即升级到以下已修复版本,这些版本包含了加固的React Server Components实现:

修复版本列表:

  • 15.0.5(修复15.0.x系列)

  • 15.1.9(修复15.1.x系列)

  • 15.2.6(修复15.2.x系列)

  • 15.3.6(修复15.3.x系列)

  • 15.4.8(修复15.4.x系列)

  • 15.5.7(修复15.5.x系列)

  • 16.0.7(修复16.0.x系列)

升级命令(根据当前版本选择对应的修复版本):

npm install next@15.0.5 # 适用于15.0.x用户

npm install next@15.1.9 # 适用于15.1.x用户

npm install next@15.2.6 # 适用于15.2.x用户

npm install next@15.3.6 # 适用于15.3.x用户

npm install next@15.4.8 # 适用于15.4.x用户

npm install next@15.5.7 # 适用于15.5.x用户

npm install next@16.0.7 # 适用于16.0.x用户

对于使用Next.js 14.3.0-canary.77或更高canary版本的用户,建议降级到最新的14.x稳定版本:

npm install next@14

如果使用React Router的不稳定RSC API,需要升级相关依赖:

npm install react@latest react-dom@latest

npm install react-server-dom-parcel@latest

npm install react-server-dom-webpack@latest

npm install @vitejs/plugin-rsc@latest

其他受影响框架:

  • Expo: 升级react-server-dom-webpack到最新版本

  • Redwood SDK: 确保使用rwsdk>=1.0.0-alpha.0

  • Waku: 升级react-server-dom-webpack到最新版本

  1. UWAF 防护措施

UWAF 针对 RSC 攻击链提供了相应的规则与协议层加固能力,可在一定程度上识别并阻断可疑的 Payload、异常的 JSON/Multipart 请求链及伪造的 RSC 数据包。

建议确保开启「请求 Multipart 检测」以提升防护有效性。若有更高级别或更精细化的防护需求,可联系安全中心获取进一步支持。

参考链接

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