这次安全漏洞堪称React生态近年来最严重的一次。它影响范围广泛、触发条件简单,属于“只要部署就可能中招”的级别。若您的线上项目运行在React 19或Next.js App Router上,请尽快完成版本升级。
12月3日,React官方发布了一份罕见的紧急安全公告:React Server Components(RSC)存在一个最高级别(CVSS 10.0)的安全漏洞。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之后的部分测试版
如果您的项目仍在使用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,请尽快完成升级。
安全问题不容拖延,这次尤为如此。
