12 月 3 日,React 官方发布了一条非常罕见的安全公告:React Server Components(RSC)出现了一个最高级别(CVSS 10) 的安全漏洞。Next.js 官方也同步发文确认受到影响。

如果你在用 React 19 + RSC,或者用 Next.js 的 App Router,请立刻检查版本。

漏洞是什么?

RSC 在处理服务端请求时,需要把客户端发来的数据反序列化。本次问题就出在这里——类型校验不严格,导致攻击者可以构造一个“伪 RSC 请求”,诱导服务器执行恶意代码。

也就是说:

不需要登录

不需要权限

只要能请求到你的接口

就有可能直接执行服务器端代码

因此,这次漏洞才会被评为满分 10 分的严重程度。

哪些版本受影响?

React 侧:

react-server-dom-webpack / parcel / turbopack(19.0 ~ 19.2 的部分版本)

Next.js 侧:

所有基于 App Router + RSC 的版本基本都受影响

包括多数 15.x、16.x 稳定版

还有 14.3.0-canary.77 之后的部分 canary

如果你的项目还停在 pages router,或者没有用到 RSC,本次风险较小。

为什么会这么严重?

RSC 引入了一套新的序列化协议,而这次的漏洞让攻击者能伪造这个协议的消息。只要你的应用在线上暴露了相关接口,风险就是“默认存在”的。更糟糕的是,很多团队可能根本没意识到自己启用了 RSC。

怎么办?升级就是唯一修复方式

React 和 Next.js 已经发布了修复版本。

React:

npm install react-server-dom-webpack@latest

Next.js:

15.x → 升级到最新补丁(如 15.0.5、15.1.9 等)

16.x → 升级到 16.0.7

使用 14.3-canary 的,建议直接回稳定 14.x

官方明确说了:没有任何配置可以临时规避漏洞,只能升级。


给你一个快速自查清单

1

你的项目是否在使用 Next.js App Router?

2

依赖是否是 12 月 3 日前安装的 React 19?

3

lock 文件里是否出现受影响版本的 react-server-dom-*

4

CI 是否会使用旧缓存重新部署?

5

服务是否直接暴露在公网?

如果以上有两条命中,基本可以认定需要升级。

写在最后

这是 React 生态近年来最严重的一次安全事件。影响范围大、触发条件简单,属于“只要部署就可能中招”的级别。如果你有线上项目跑在 React 19 或 Next.js App Router 上,请尽快完成升级。

安全问题不能拖,这次尤其如此。

往期推荐

15 个 Node.js 新功能替代流行 NPM 包

面试官:如果 100 个请求,你怎么用 Promise 去控制并发?

前端到底用Nginx来做啥


最后

  • 欢迎加我微信,拉你进技术群,长期交流学习...

  • 欢迎关注「前端Q」,认真学前端,做个专业的技术人...

点个在看
支持我吧

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐