CVE-2025-55182 和 CVE-2025-66478:React 服务器组件和 Next.js 中存在严重远程代码执行漏洞

最后更新: 12/04/2025
作者: C 源跟踪
  • CVE-2025-55182 和 CVE-2025-66478 允许通过 React Server Components Flight 协议执行未经身份验证的远程代码。
  • 缺陷在于RSC有效载荷的反序列化不安全。 react-server 实施过程中,会影响默认配置。
  • Next.js 和其他基于 RSC 的框架也存在这个问题,使很大一部分云托管应用程序面临风险。
  • 厂商已发布强化更新;升级 React、Next.js 和其他 RSC 框架是唯一可靠的缓解措施。

React 和 Next.js 中的安全漏洞

的发现 React 中的 CVE-2025-55182 和它的同伴 Next.js 中的 CVE-2025-66478 这给现代 Web 开发界敲响了警钟。这些问题使得使用 React 服务器组件 (RSC) 和实现了 RSC“Flight”协议的框架的服务器,即使在完全标准的开箱即用配置下运行,也容易遭受未经身份验证的远程代码执行攻击。

这种情况尤其令人担忧之处在于…… 攻击者几乎无需费力 利用此漏洞进行攻击:精心构造的针对易受攻击端点的 HTTP 请求足以在服务器上执行任意代码。由于大量云环境依赖于 React 和 Next.js,管理员和开发人员修复漏洞的紧迫性不容低估。

了解 CVE-2025-55182 和 CVE-2025-66478

ataque Shai-Hulud 与 npm suministro 的 cadena
相关文章:
Shai-Hulud: el ataque que sacude la cadena de suministro de npm

CVE-2025-55182 指的是核心漏洞 ,在 react-server 该软件包是 React 服务器组件及其“Flight”协议的基础组件。它负责处理服务器渲染组件流式传输到客户端时使用的特殊有效负载,这是 React 19 新生态系统的核心机制。

在平行下, CVE-2025-66478 描述了该漏洞对 Next.js 的影响。它集成了 React Server Components (RSC) 并重用了相同的底层协议。由于 Next.js 直接构建于 RSC 基础架构之上,因此协议中的任何缺陷都会立即被典型的 Next.js 应用程序继承,包括那些使用诸如 React Server 之类的工具引导的应用程序。 create-next-app.

这两个标识符都描述了 严重的未经身份验证的远程代码执行漏洞安全团队给予这些漏洞最高严重性评分,这不仅反映了它们的技术影响,还反映了在现实世界的部署场景中,无需复杂的前提条件即可利用这些漏洞。

研究人员还指出,受影响的行为是 默认启用 在许多配置中都存在这种漏洞。这意味着应用程序无需使用任何不寻常的模式或添加危险选项即可暴露该漏洞;仅仅采用当前的基于 RSC 的技术栈就足以继承该漏洞。

幕后问题的根源在于…… RSC有效载荷被接收和处理 通过服务器端逻辑。反序列化过程并没有对不受信任的输入进行彻底的验证和约束,而是允许攻击者控制的数据来影响服务器上的执行路径。

React Server Components 安全问题

飞行协议如何成为远程代码执行的途径

其根本原因 React 服务器组件中的 CVE-2025-55182 这是 RSC “Flight” 协议处理中存在的逻辑反序列化缺陷。RSC 使用一种特殊的网络格式来描述组件树、属性和服务器操作,服务器对其进行编码,客户端对其进行解码,作为渲染的一部分。

当服务器收到一个 恶意构造的飞行载荷它应该将这些数据视为不可信数据。然而,存在漏洞的实现方式却能有效地影响具有特权的服务器端行为。不安全的反序列化步骤成为了恶意数据与以完整服务器权限运行的 JavaScript 代码之间的桥梁。

安全研究人员将这类问题描述为: 不安全的反序列化该应用程序接收复杂的输入结构,并从中重构对象或执行流程,但未能对这些重构对象的权限设置强有力的安全措施。在这种情况下,攻击者可以轻易地将程序执行引导至任意代码路径。

在测试过程中,研究团队报告称 在尝试利用漏洞时,可靠性近乎完美。尽管概念验证攻击并未完全公开以限制机会主义滥用,但已证明其能够以接近 100% 的成功率实现远程代码执行。唯一的实际要求是能够向暴露的 RSC 端点发送精心构造的 HTTP 请求。

因此,这次攻击是 远程且未经身份验证无需有效的会话、泄露的令牌或事先的立足点。未更新的面向公众的 Next.js 或其他基于 RSC 的应用程序可能会被探测,如果存在漏洞,则会被攻破。

谁以及什么会受到影响

因为该漏洞根源于 核心 react-server 实现它的影响范围不仅限于 React 和 Next.js 本身,还扩展到任何以类似方式捆绑或集成 RSC 的框架。这使得潜在的风险范围远远超出单个库或厂商维护的产品。

公开分析已强调 Next.js 是最主要的下游目标鉴于其普及性和与RSC的深度集成,Wiz Research收集的数据显示,相当一部分云环境运行的React或Next.js版本处于易受攻击的范围内,这使得Web服务器端渲染基础设施的很大一部分面临风险。

这些评估的估计表明,大约 39%-40% 的云环境 至少包含一个受这些 CVE 影响的 React 或 Next.js 实例。Next.js 本身出现在大多数此类环境中,并且在许多情况下,它驱动着直接暴露在互联网上的公共应用程序。

超越 Next.js, 任何嵌入了 react-server 包的框架或工具 或者以其他方式支持 RSC,这可能存在安全隐患。已标记的示例包括:

  • Next.js在其支持 RSC 的版本中。
  • Vite RSC 插件 提供服务器组件支持。
  • Parcel RSC 插件 集成 React 服务器组件。
  • React Router RSC 预览 或实验性版本。
  • RedwoodSDK 使用RSC特性的实现。
  • 袜裤 以及类似的、新兴的RSC驱动框架。

云平台供应商已开始从自身角度阐明影响范围。例如, 谷歌已表明,谷歌云上的标准公共操作系统镜像 Compute Engine 默认情况下不包含存在漏洞的 RSC 堆栈。但是,一旦用户将自己的 React 或 Next.js 应用程序部署到这些镜像之上,则需要自行负责修复漏洞。

Next.js远程代码执行漏洞

为什么风险被认为是极端的

多种特征结合起来构成 CVE-2025-55182和CVE-2025-66478 这一点尤其令防御者担忧。首先,攻击面与RSC的网络通信方式紧密相连,因此在许多情况下,攻击者可以通过普通的HTTP流量访问它。服务器无需启用任何特殊功能即可被攻击;标准的部署方式就足以使其易受攻击。

其次, 默认配置存在漏洞 对于使用受影响的RSC协议的典型应用程序而言,依赖推荐的现成工具和最佳实践的开发人员可能在不知情的情况下部署了易受攻击的应用程序,而没有进行任何自定义。

第三,成功利用漏洞的影响极其严重: 在服务器上执行完整的远程代码一旦攻击者达到这个级别,他们通常可以执行任意命令、深入渗透到环境中的其他环节、窃取数据或篡改应用程序逻辑。在服务紧密集成的云原生环境中,这种情况可能迅速演变成更大范围的攻击。

安全研究人员也表达了担忧,即现在 补丁和公告是公开的正如前文所述,攻击者迟早会逆向工程这些更改,从而构建自己的攻击程序。 npm 安全指南.

最后, React 和 Next.js 的普及程度令人惊叹 在生产环境中,风险会进一步放大。React 是应用最广泛的 JavaScript 界面构建库之一,而 Next.js 已成为服务器端渲染和混合应用的首选框架。某个小众组件中的 bug 可能影响范围相对较小;但 RSC 中的 bug 会影响整个 Web 技术栈的很大一部分。

供应商和安全团队的回应

一旦发现漏洞,披露过程便迅速展开。 安全研究员拉赫兰·戴维森报告了该漏洞。 11 月下旬,我通过 Meta 的漏洞赏金计划将此问题告知了 React 团队。这一及时的通知使得维护人员能够研究问题、准备更完善的版本,并与 Next.js 等下游框架协调指导。

React 维护者们自 发布了 React 和 react-server 包的更新版本 这些改进解决了 Flight 协议中不安全的反序列化行为。这些强化版本旨在更安全地处理 RSC 有效载荷,从而堵塞了之前允许不受信任的数据控制服务器端执行的代码路径。

维塞尔和 Next.js 团队发布了他们自己的安全公告。详细说明了哪些版本受到影响以及用户应如何更新。目标是尽可能简化团队识别受影响部署并迁移到已修复版本的过程,包括使用常用工具(例如 tv)创建的应用程序。 create-next-app.

在防守方面, Wiz Research 和其他安全厂商 我们发布了分析报告、扫描结果和查询语句,帮助企业检测其云环境中存在的漏洞。例如,Wiz 添加了预构建的查询语句和威胁中心公告,用于发现仍然依赖于存在缺陷的 RSC 实现的 React 和 Next.js 安装。

应急响应领域的专家们也在为一些组织可能面临的情况做准备。 现实世界中的利用尝试安全公司鼓励怀疑存在涉及 CVE-2025-55182 或 CVE-2025-66478 的定向攻击活动的团队进行调查。 快速联系响应专家理想情况下,应该在攻击者站稳脚跟之前就采取行动。

开发人员和运营商应立即采取的措施

对于负责使用 React 服务器组件构建 Web 应用程序的团队而言, 升级到强化版本是唯一可靠的缓解措施。单靠配置调整不太可能完全消除风险,同时还能保持正常的 RSC 功能,因为缺陷存在于协议本身的处理方式中。

实用的 应对计划 对于组织而言,情况可能如下所示:

  • 清点所有 React 和 Next.js 应用程序包括内部工具和不太显眼的服务,而不仅仅是面向公众的旗舰网站。
  • 确定哪些部署使用 RSC 或依赖于版本 React 和 Next.js 的某些组件被厂商公告标记为存在漏洞。
  • 升级 React、react-server 和 Next.js 按照维护者发布的强化版本,并遵循其版本特定的指导。
  • 查看其他支持RSC的框架 例如 Vite 和 Parcel 的 Redwood、Waku 或 RSC 插件,并在维护者发布更新后立即应用更新。
  • 查看日志和遥测数据 RSC 端点周围存在异常、格式错误或可疑的请求,这些请求可能表明存在探测或利用尝试。

使用云安全工具的组织也可以 利用供应商提供的检测内容 为了加快这一进程,例如,Wiz 提供的查询可以帮助定位多云部署中存在漏洞的软件包和框架,从而降低被忽略的服务仍然暴露的风险。

如果可能,各队还可以考虑 暂时限制RSC终点的暴露 在部署补丁程序期间,可以采取额外的访问控制、速率限制或应用防火墙等措施。这些措施只是权宜之计,而非彻底的解决方案,但它们可以帮助减少攻击者可乘之机。

与任何备受瞩目的RCE一样,收紧 关键资产监控 同样重要的是,对进程创建异常、应用服务器的出站网络连接异常以及意外的配置更改发出警报,有助于及早发现攻击成功的情况。

对网络生态系统的长期影响

的出现 React 中的 CVE-2025-55182 和 Next.js 中的 CVE-2025-66478 这也引发了关于如何设计和推出新的Web平台功能的更广泛讨论。服务器端渲染和服务器组件虽然承诺提升性能和开发者体验,但也把大量的功能和复杂性集中在相对较少的协议和库中。

从这次事件中可以吸取的一个教训是: 序列化和反序列化层需要特别仔细地审查。任何从不可信来源重构复杂对象或解析结构化有效载荷的机制,如果验证不完整,都可能存在严重漏洞。随着越来越多的框架采用类似 RSC 的模式,代码审查员和安全审计员可能会更加关注这些边界。

潜在影响的规模也凸显了这一点。 开源生态系统依赖于快速、协调的响应。 当出现关键缺陷时,React、Next.js、云服务提供商和安全厂商都需要迅速协调,发布补丁、文档和检测工具。这种协调可以显著缩短缺陷披露和修复之间的时间,从而降低整体损失。

与此同时,该事件也凸显了…… 默认设置很容易影响现实世界的风险。当一项强大的功能默认启用并被广泛采用时,该功能中的任何缺陷几乎都会在一夜之间演变成系统性问题。未来的框架设计可能会更加注重默认安全行为、可选的高级功能或更清晰的安全权衡。

最后,开发团队可能会重新审视他们自己的…… 服务器驱动功能的威胁建模即使在以前感觉防御严密的环境中,未经身份验证的请求影响服务器端渲染路径的能力,也会促使安全团队挑战长期以来的假设,并投入更多资源进行更强大的测试。

随着社区继续消化这些漏洞,采取这些措施的组织也应尽快采取行动。 迅速行动 修复、监控和重新评估其 RSC 使用情况将使企业处于更有利的地位。解决 CVE-2025-55182 和 CVE-2025-66478 不仅仅是修复一个漏洞;它提醒我们现代 Web 技术栈的相互关联性,以及密切关注其所依赖的基础架构的重要性。

相关文章: