CVSS 10.0 的 React 漏洞:一个请求就能在服务器上执行代码
React Server Components 的 payload 解码缺陷被评到 10.0 满分,未认证的远程代码执行。受影响的是 react-server-dom-* 的四个版本,修好的只有三个。这篇说清谁中招、怎么查、怎么补。
2025 年 12 月 3 日,React 团队公布了一个满分漏洞:CVE-2025-55182,CVSS 10.0,未认证的远程代码执行。问题不在渲染,而在 React Server Components 解码请求 payload 的方式。
如果你的应用根本没有服务端,这件事与你无关;如果用了 Next.js、React Router、Waku 这类支持 RSC 的框架,就得当成线上事故处理。
谁中招
受影响的是三个运行时的 react-server-dom 包:
| 包 | 受影响版本 | 修复版本 |
|---|---|---|
| react-server-dom-webpack | 19.0 / 19.1.0 / 19.1.1 / 19.2.0 | 19.0.1 / 19.1.2 / 19.2.1 |
| react-server-dom-parcel | 同上 | 同上 |
| react-server-dom-turbopack | 同上 | 同上 |
受影响的框架与打包器包括 next、react-router、waku、@parcel/rsc、@vitejs/plugin-rsc 和 rwsdk。即使你的应用没有自己实现 React Server Function 端点,只要支持 RSC 也可能中招——漏洞在共享的解码路径上。
为什么是 10.0
React Server Function 的调用方式是“客户端把参数编码发给服务端,服务端解码并执行”。解码器要处理任意结构的数据,一旦它能被构造成执行任意代码,攻击者不需要账号、不需要交互,一个 HTTP 请求就能落地。
满分不是夸张:不需要认证、不需要用户点击、影响所有暴露 RSC 端点的应用,而且利用复杂度低。
现在该做什么
- 查版本。在 lockfile 里搜 react-server-dom-webpack、react-server-dom-parcel、react-server-dom-turbopack,对照上表;
- 升级。按框架的补丁指引升到 19.0.1 / 19.1.2 / 19.2.1 对应的版本;
- 排查是否被利用。RSC 端点的异常请求、异常子进程与出网行为都值得翻一遍日志;
- 确认托管方缓解。部分平台在公布当天上了临时拦截,但那只是争取时间,不是修复。
结构性的教训
这次漏洞和过去几年的反序列化 RCE 是同一类:服务端接受结构化输入并据此执行逻辑,解码器就是攻击面。RSC 把它带进了前端框架的默认栈里——很多团队装 Next.js 时并没有意识到自己同时装上了一个服务端执行入口。
所以除了打补丁,还有两个长期动作:把 RSC 端点当成“对外暴露的执行面”来监控,而不是普通页面请求;让依赖升级能在一小时内完成,而不是等下一次发版。
一句判断
这个洞的修复成本很低——改三个版本号;代价很高——晚一天就可能已经被扫过。真正值得记住的是它的位置:漏洞不在你写的组件里,而在框架替你解码请求的那一层。
封面图:React 官方博客(react.dev)。

评论
…