- React 中的 CVE-2025-55182 和 Next.js 中的 CVE-2025-66478 允许通过 React Server Components Flight 协议执行未经身份验证的远程代码。
- 该缺陷源于对 RSC 有效负载的不安全反序列化,导致默认的 React 和 Next.js 配置在没有任何自定义代码更改的情况下暴露出来。
- 安全研究人员报告称,漏洞利用可靠性接近 100%,并警告说,随着补丁的分析,大规模攻击很可能发生。
- 立即升级到强化版的 React 和 Next.js 是唯一的根本缓解措施,尤其是在云环境中,高达 40% 的应用可能存在漏洞。
的披露 React 中的 CVE-2025-55182 及其姊妹篇 Next.js 中的 CVE-2025-66478 这凸显了当底层协议出错时,服务器端 JavaScript 堆栈的脆弱性。这并非一个小众漏洞,而是一个最高级别的远程代码执行漏洞,它直接影响 React 服务器组件的核心。 飞行协议 许多现代应用程序都在悄然依赖它。
此案最令人不安的地方在于: 默认设置已公开一个用 Next.js 生成的普通应用程序 create-next-app这套专为生产环境构建且部署时未使用任何特殊选项的系统,却可能因未经身份验证的 HTTP 请求而被攻破。无需任何复杂的配置错误,也无需任何特殊的插件——仅仅是许多团队每天都在部署的标准技术栈而已。
CVE-2025-55182 和 CVE-2025-66478 是如何被发现的
问题的根源在于…… 为 React Server Components (RSC) 提供支持的 react-server 实现该软件包是 Flight 协议的基础,Flight 协议用于在客户端和服务器之间传输序列化的组件数据。当安全研究人员 拉克兰·戴维森 11 月下旬,有人通过 Meta 的漏洞赏金计划举报了可疑行为,这立即引发了 React 和 Meta 团队的快速反应。
根据公开公告,该漏洞于周三披露。 应急补丁大约四天内就发货了。对于一个影响如此庞大生态系统的问题而言,这样的处理速度异常之快,也凸显了该缺陷的严重性:React 的维护者将其评为最高级别。 CVSS 评分 10.0最大可能值。
在平行下, Vercel——Next.js 背后的公司 — 分析了同一底层漏洞如何影响其框架。由于 Next.js 在服务器端使用了相同的 RSC Flight 协议,因此它也继承了这一漏洞,并被分配了单独的标识符。 CVE-2025-66478Vercel 在 React 发布安全公告的同一天发布了警报和补丁,旨在尽可能缩短攻击者可利用的漏洞窗口。
尽管反应迅速, 安全厂商和研究人员开始警告,攻击者很可能会逆向工程这些修复程序。 非常快,正如在……中看到的那样 针对 npm 的供应链攻击一旦修复后的代码公开,就更容易推断出漏洞所在之处并构建有效的漏洞利用程序。
React Flight 协议究竟出了什么问题?
从技术层面来看,CVE-2025-55182 和 CVE-2025-66478 本质上都是: 对攻击者控制的数据进行不安全的反序列化 在 Flight 协议中,React 服务器组件发送和接收结构化有效负载,服务器随后解码这些有效负载并用于驱动执行流程。
脆弱的逻辑 react-server 包 未能严格验证传入的RSC有效载荷的结构和内容通过向 React 服务器函数端点发送一个故意构造错误但精心设计的 Flight 有效载荷,攻击者可以影响服务器在反序列化该数据时的行为。这样一来,代码路径不仅可以重建正常的组件状态,还可以被引导执行特定操作。 服务器端特权 JavaScript.
因为该漏洞会影响协议的解码方式, 无需身份验证远程攻击者只需能够向任何可达的 RSC 或服务器函数端点发送 HTTP 请求即可。这使得该漏洞成为一种直接的、无需身份验证的远程代码执行 (RCE) 途径:发送精心构造的请求,等待不安全的反序列化,有效载荷最终即可在后端执行。
Wiz 的研究人员独立分析了这个问题,并将其描述为…… 逻辑反序列化漏洞 而不是简单的解析错误。在他们的测试中,一个完全有效的概念验证漏洞利用程序成功利用了该漏洞。 接近100%的可靠性 在易受攻击的目标上触发代码执行。
为什么默认的 React 和 Next.js 部署存在风险
这些网络安全事件最令人担忧的方面之一是: 它们会影响出厂默认配置。许多安全问题的利用需要特定的功能标志、很少使用的插件或非标准的部署模式。但这里的情况并非如此。
React 服务器组件及其 Flight 协议已成为现代 React 19 和 Next.js 架构不可或缺的一部分。因此, 由以下方式生成的标准生产版本 create-next-app 无需应用程序开发者编写任何额外代码,即可利用此漏洞。攻击者无需猜测自定义路由或业务逻辑;滥用通用的 RSC 端点就足够了。
这个缺陷并非Next.js本身独有。任何框架或工具都存在这个问题。 在服务器上捆绑或重新实现 RSC Flight 协议 可能存在安全隐患。公共安全公告和安全报告重点介绍了几个受影响的生态系统:
- Next.js最知名的框架影响了下游
- Vite RSC 插件 (
@vitejs/plugin-rsc) - Parcel RSC 插件 (
@parcel/rsc) - React Router RSC 预览
- RedwoodSDK (通常被称为)
rwsdk) - 袜裤 以及其他支持RSC的工具链
在 React 本身中,该错误会影响到 React 系统。 版本 19.0、19.1.0、19.1.1 和 19.2.0 相关软件包的维护者表示: 升级到 19.0.1、19.1.2 或 19.2.1 增强了安全性并消除了漏洞。Next.js 已发布相应的修复版本,其中集成了已修补的 React 服务器逻辑。
一些基础设施提供商已经明确了影响范围。例如,谷歌已经声明: Compute Engine 的公共操作系统镜像默认情况下不受此漏洞影响。由于它们没有提供现成的 React 或 Next.js,因此当用户将这些框架的受影响版本部署到基础镜像之上时,就会出现风险。
爆炸产生的冲击波在云层中的半径有多大?
当我们看到 React 和 Next.js 在生产环境中的广泛应用时,问题的严重性就显而易见了。React 为许多主流平台的用户界面提供了底层支持,例如…… Facebook、Instagram、Netflix、Airbnb、Shopify、沃尔玛、Asana 等等此外,无数小型应用程序和内部仪表板都是使用相同的组件和框架构建的。
Wiz公司的威胁情报团队分析了来自云环境的遥测数据,发现 大约 39-40% 的云部署包含易受攻击的实例。 React 或 Next.js。仅就 Next.js 而言,该框架大约出现在 69%的受调查环境,大约 其中 61% 的面向公众的应用程序运行在其之上。将这些百分比加起来,意味着大约 在所有观察到的云环境中,有 44% 托管了公开暴露的 Next.js 实例。无论具体框架版本如何。
这种流行度和漏洞之间的重叠正是令防御者警惕的原因。当一个广泛部署的技术栈存在最高级别的、未经身份验证的远程代码执行漏洞,并且存在可靠的利用路径时, 机会主义和有针对性的攻击几乎肯定会接踵而至。即使是那些迅速修补漏洞的组织,也可能面临一个短暂的窗口期,在此期间,暴露的端点可能会被探测和入侵。
在最初披露之时, 尚未有公开报道证实存在野外剥削行为。然而,包括 Rapid7 和 watchTowr 的专家在内的多位安全研究人员强调,可以合理地假设威胁行为者已经在对补丁进行逆向工程,扫描未打补丁的服务并构建自动化攻击链。
研究人员和供应商如何看待漏洞利用风险
来自安全界的声明描绘了一幅一致的图景: 这不是理论问题。而且攻击者的准入门槛很低。watchTowr 的首席执行官 Benjamin Harris 将该漏洞描述为…… 对全球最流行的网络框架之一的用户构成重大风险 并强调,剥削“几乎不需要任何前提条件”。
Wiz 的研究人员在测试了存在漏洞的版本和已修复的版本后,也认同了这一评估。他们的内部实验表明,用于利用不安全反序列化的精心构造的有效载荷实现了…… 接近100%的成功率 攻击会在受影响的服务器上触发完整的远程代码执行。他们还指出,该攻击是 完全远程且未经身份验证完全由专门构造的 HTTP 请求驱动。
从 Rapid7 的角度来看,预期是: 技术文档和概念验证漏洞利用程序将在足够多的人解析完补丁后出现。反过来,这很可能会助长更广泛的扫描和大规模攻击,尤其是针对拥有大量面向互联网的应用程序的云环境。
即使在供应商群体之外, 行业媒体将这些CVE漏洞描述为使互联网的很大一部分面临风险。报道不仅突显了问题的严重性,还揭示了大量依赖 React 和 Next.js 进行前端和服务器端渲染的大型消费者网站、SaaS 平台和 API 后端。
缓解措施:React 和 Next.js 用户现在应该做什么
对于在生产环境中运行 React 或 Next.js 的团队来说,维护者和研究人员的建议都指向一个简单的观点: 升级到已打补丁的版本是唯一彻底的解决方法。目前没有任何配置开关或通用 WAF 规则可以完全解决 Flight 协议中底层不安全的反序列化行为。
React 团队建议受影响分支上的所有用户都这样做。 升级到强化版 19.0.1、19.1.2 或 19.2.1,确保 react-server 该软件包已包含在更新中。对于 Next.js,Vercel 已发布 修复了集成已打补丁的 RSC 处理的版本管理员应参考 Next.js 官方指南,以确定其所选发布系列所需的最低安全版本。
依赖其他组织的 支持RSC的框架 建议使用 Redwood、Waku、React Router 的 RSC 预览版或 Vite 和 Parcel RSC 插件等。 请查看相应的版本说明和安全渠道在许多情况下,这些项目只是简单地封装或打包了 React 的服务器组件,因此需要更新 React 本身,然后拉取最新的框架版本。
除了简单的修补之外,云专用工具也被用于…… 大规模搜寻漏洞实例例如,Wiz 的客户可以利用 Wiz 威胁中心中的查询和建议,查找受影响的 React 或 Next.js 版本在其环境中的部署位置。其他组织则使用资产清单、SBOM 数据和容器扫描来实现类似的可见性。
如果有任何迹象表明系统可能已经通过这些CVE漏洞成为攻击目标或遭到入侵, 建议提供事件响应支持一些供应商特别邀请怀疑 CVE-2025-55182 或 CVE-2025-66478 被利用的客户联系他们的事件响应团队,以获得分类、遏制和取证方面的帮助。
这揭示了 JavaScript Web 生态系统的哪些问题
尽管 React 和 Next.js 的补丁暂时堵住了漏洞, 该事件引发了关于服务器端 JavaScript 框架如何处理不受信任数据的更广泛的问题。像 Flight 这样的协议位于协议栈的深处,隐藏在开发人员很少直接检查的抽象层之后,这意味着缺陷在被发现之前可能会产生广泛的影响。
事实 默认配置中存在易受攻击的行为,并且大力推广这些配置。 这也凸显了开发者体验与默认安全设计之间的矛盾。一些使构建现代应用程序更便捷的功能——例如服务器组件和客户端与服务器之间的无缝序列化——可能会悄然引入复杂的攻击面。
对于安全团队而言,此案再次提醒他们: 框架级漏洞可能立即演变为组织范围内的漏洞。一个流行的开源组件中的一个错误可能会影响数十个独立的应用程序、微服务和内部工具,尤其是在容器和模板被重用的情况下。
从积极的方面来看,React 维护者 Meta 和 Vercel 的回应表明: 即使在大型生态系统中,协调披露和快速补丁开发也是可能的。清晰的公告、版本化的修复程序以及与安全厂商的协调,帮助防御者在众多相互竞争的漏洞中优先处理了这个问题。
展望未来,许多观察人士预计,对……的审查将会持续进行。 Web框架中的序列化、反序列化和协议解析逻辑如果 CVE-2025-55182 和 CVE-2025-66478 促使对 Flight 等组件进行更系统的测试和更严格的验证,那么一些长期的安全效益可能会从一起原本严重的事件中产生。
目前,使用 React 或 Next.js 技术栈的团队正处于一场竞争之中。 补丁部署和攻击者自动化鉴于最高严重性的远程代码执行 (RCE) 会影响默认配置、广泛的云部署以及研究中已证明的高可靠性利用技术,保持这些环境的安全取决于组织能够多快地识别出自身暴露的位置,并将所有内容迁移到强化版本。