CVE-2025-66478:当修复还不够彻底,ReactServerActions的第二个漏洞浮出水面

admin 2025-12-25 02:47:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CVE-2025-66478揭示了ReactServerActions修复不彻底的问题,导致CVE-2025-55182的攻击链未被完全阻断。该漏洞源于服务端对特定Action请求的信任假设,允许攻击者构造合法请求绕过限制,构成框架级系统性风险。建议除升级版本外,减少ServerActions暴露面并实施显式权限校验。 综合评分: 86 文章分类: 漏洞分析,WEB安全,漏洞预警


cover_image

CVE-2025-66478:当修复还不够彻底,React Server Actions 的第二个漏洞浮出水面

云梦DC

云梦安全

2025年12月24日 09:42 河南

一、背景:漏洞真的被“修完”了吗?

在 CVE-2025-55182 被披露后,社区普遍认为这是一次 React Server Actions / Next.js Server Components 设计层面的高危问题。 官方快速给出了修复方案,许多团队也第一时间完成了升级。

但在我们持续跟进该攻击面的研究过程中发现:

即便修复了 CVE-2025-55182, 攻击链并没有被完全阻断。

这正是 CVE-2025-66478 出现的背景。

它并不是一个“全新方向”的漏洞,而是沿着同一条 Server Actions 攻击链,暴露出的第二个关键缺口


二、CVE-2025-66478 是什么?

CVE-2025-66478 影响的是 *React Server Actions / react-server-dom- 相关实现**,本质问题仍然围绕:

  • Server Action 的调用边界
  • 服务端对 Action 请求来源、结构和上下文的信任假设

与 CVE-2025-55182 的关系

| 对比维度 | CVE-2025-55182 | CVE-2025-66478 | | — | — | — | | 攻击面 | Server Actions | Server Actions | | 触发方式 | 非预期 Action 调用 | 绕过修复后的调用限制 | | 本质问题 | 信任客户端构造的 Action 请求 | 修复不完整,仍可被利用 | | 修复策略 | 局部校验 / 拦截 | 暴露设计层缺陷 |

结论很明确:

66478 不是“另一个洞”, 而是 55182 没修干净的直接后果


三、技术层面:问题到底出在哪里?

1️⃣ Server Actions 的设计前提

React Server Actions 的核心设计理念是:

  • 客户端可以触发
  • 服务端函数执行
  • 框架负责“安全地”完成上下文绑定

但问题在于:

Action 的执行,并非基于传统意义上的路由或权限模型。

而是依赖于:

  • 特定的请求格式
  • react-server-dom 的协议解析
  • 框架内部的标记与映射关系

2️⃣ CVE-2025-66478 的核心问题

在官方针对 CVE-2025-55182 的修复中:

  • 加强了部分请求校验
  • 限制了部分非法调用路径

但并没有彻底解决一个根本问题:

服务端仍然会“相信” 某些构造合法、但语义不合法的 Action 请求。

攻击者可以通过:

  • 变形请求结构
  • 利用不同的 react-server-dom 实现(webpack / turbopack / parcel)
  • 构造边界条件下的 Action 调用

实现 修复后的再次触发


四、为什么这个漏洞值得重视?

1️⃣ 这是“框架级系统性风险”

CVE-2025-66478 不是某个业务代码写错,而是:

  • 框架承担了“安全边界”的职责
  • 但边界定义本身不清晰

这类问题的特点是:

  • 影响面极广
  • 单点 Patch 很难彻底解决
  • 用户往往误以为“升级就安全了”

2️⃣ 攻击成本正在持续降低

在我们的研究过程中发现:

  • 互联网上存在大量直接暴露的 Next.js 应用
  • 其中不少开启了 Server Actions
  • 实际部署环境复杂,版本差异极大

攻击者并不需要完全理解业务逻辑,只需要:

  • 能构造 Server Action 请求
  • 能触发未授权执行路径

3️⃣ 扫描“失败”并不等于安全

很多人在验证该漏洞时遇到类似结果:

Total hosts scanned:xxxx
Vulnerable:0
Errors:xxxx

这并不一定意味着:

  • 漏洞不存在
  • 或目标安全

更可能是:

  • 目标部署方式不同
  • 版本实现差异
  • 请求被 WAF / CDN 拦截
  • Server Actions 未暴露在默认路径

五、我们对防御的几点判断

❗ 单纯升级版本 ≠ 绝对安全

即使官方修复:

  • 框架级的调用模型仍然存在
  • Server Actions 仍然绕过了传统 API 安全边界

✅ 建议的防御思路

  1. 尽量减少 Server Actions 的暴露面
  2. 对关键 Action 增加显式权限校验
  3. 结合 WAF / 网关层对异常 Action 请求进行识别
  4. 对 react-server-dom 相关请求进行审计与日志监控

六、总结:这不是终点,而是开始

CVE-2025-66478 的意义不在于:

“又多了一个 CVE 编号”

而在于它清楚地告诉我们:

现代前端框架正在承担越来越多“后端级风险” 但安全模型仍然停留在早期阶段。

对于安全研究者而言,这是一个新的、值得长期关注的攻击面; 对于开发者而言,这也是一次必须正视的设计挑战。

github:https://github.com/Malayke/Next.js-RSC-RCE-Scanner-CVE-2025-66478


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:云梦安全 云梦DC《CVE-2025-66478:当修复还不够彻底,React Server Actions 的第二个漏洞浮出水面》

评论:0   参与:  5