【译】React 服务器组件中的关键安全漏洞

【译】React 服务器组件中的关键安全漏洞

重要提醒:React 服务器组件曝光了一枚未认证的远程代码执行(RCE)漏洞,只要项目启用了 RSC 支持,就可能被远程掌控。建议所有依赖 React 19 的项目立即排查并升级。

本文根据 React 团队于 2025 年 12 月 3 日发布的「Critical Security Vulnerability in React Server Components」翻译整理。


🚨 漏洞概述

  • 12 月 3 日,React 官方团队发布最高级别安全通告:React 服务器组件(RSC)存在未认证的远程代码执行漏洞。
  • 漏洞已被登记为 CVE-2025-55182,CVSS 得分 10.0(危害最高级别)。
  • 攻击者无需通过身份验证,只要能向 Server Function 端点发送恶意 HTTP 请求,就可能在服务器上执行任意代码,直接接管你的后端环境。
  • 即便你尚未实现任何 React Server Function,只要你的框架或构建工具启用了 RSC 能力,就可能处于风险之中。

⚠️ 你是否受到影响?

受影响的 React 版本

  • 19.0
  • 19.1.0
  • 19.1.1
  • 19.2.0

受影响的框架与工具

  • Next.js
  • React Router
  • Waku
  • @parcel/rsc
  • @vitejs/plugin-rsc
  • rwsdk

以下情况暂不受影响

✅ 完全运行在客户端、没有任何服务端代码的 React 应用
✅ 没有使用支持 React 服务器组件的框架或打包工具

特别注意:只要支持 React 服务器组件,即便没有配置任何 Server Function 端点,也可能遭到攻击!

🛡️ 紧急修复方案

  • React 团队已在 19.0.119.1.219.2.1 中修复,请立即升级到对应分支的安全版本。
  • 若你使用的是 canary 版本(如 Next.js 14.3.0-canary.77+),请降级到最新稳定版,再等待后续补丁。
  • 一些托管服务商已在 React 团队指导下部署临时缓解,但请勿依赖临时方案,必须升级依赖。

基础升级命令示例

1
2
3
npm install react@19.2.1 react-dom@19.2.1
# 或
yarn add react@19.2.1 react-dom@19.2.1

📅 漏洞时间线

  • 11 月 29 日:安全研究员 Lachlan Davidson 通过 Meta Bug Bounty 报告漏洞。
  • 11 月 30 日:Meta 安全团队确认漏洞,并与 React 团队展开修复。
  • 12 月 1 日:修复方案完成,同时与托管服务商和生态项目联动部署缓解措施。
  • 12 月 3 日:补丁发布到 npm,漏洞以 CVE-2025-55182 正式披露。

💡 技术背景

React Server Functions 允许客户端通过 HTTP 请求调用运行在服务器上的函数,React 会负责序列化与反序列化过程。漏洞恰恰出在服务端解码载荷的环节:

  1. 客户端发起的函数调用被转换为 HTTP 请求。
  2. 服务端解析载荷并执行对应的函数。
  3. 攻击者可以伪造恶意载荷,诱使 React 在反序列化过程中执行任意代码。

在官方确认补丁完全部署之前,更多技术细节将保持保密,以免漏洞被大规模利用。

🎯 行动建议

  1. 立即确认项目所用的 React 与框架版本。
  2. 马上升级 React 核心依赖以及框架/打包器提供的 RSC 支持包。
  3. 同步通知团队、合作伙伴及客户,确保所有部署都得到修复。
  4. 监控服务器日志与入侵检测,关注是否存在可疑请求。
  5. 持续关注官方公告(React、Next.js、Expo、Redwood 等),获取最新补丁状态。

升级指南(框架 & 构建工具)

Next.js

1
2
3
4
5
6
7
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

若使用 14.3.0-canary.77 或更高的 canary,请降级至最新 14.x 稳定版:

1
npm install next@14

详见 Next.js 安全公告

React Router(不稳定 RSC API)

1
2
3
4
5
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

1
npm install react@latest react-dom@latest react-server-dom-webpack@latest

Redwood SDK

1
2
npm install rwsdk@latest
npm install react@latest react-dom@latest react-server-dom-webpack@latest

更多迁移说明见 Redwood 文档

Waku

1
npm install react@latest react-dom@latest react-server-dom-webpack@latest waku@latest

详情参考 Waku 官方讨论

@vitejs/plugin-rsc

1
npm install react@latest react-dom@latest @vitejs/plugin-rsc@latest

react-server-dom-parcel

1
npm install react@latest react-dom@latest react-server-dom-parcel@latest

react-server-dom-turbopack

1
npm install react@latest react-dom@latest react-server-dom-turbopack@latest

react-server-dom-webpack

1
npm install react@latest react-dom@latest react-server-dom-webpack@latest

🙏 致谢

感谢安全研究员 Lachlan Davidson 发现并报告漏洞,也向在补丁发布期间提供临时缓解与验证的托管服务商、框架团队和社区贡献者致以谢意。

📢 重要提醒

安全无小事! 该漏洞的严重性不容忽视,请务必在今天完成升级,保障用户数据与业务连续性。

转发给你的技术团队,让更多开发者看到这条重要信息!

【译】React 服务器组件中的关键安全漏洞

https://blog.vadxq.com/article/security-in-react-server-components/

作者

vadxq

发布于

2025-12-04

更新于

2025-12-04

许可协议

评论