🔴 【深度分析】严重安全漏洞:CVE-2025-71389

CVSS 评分: 严重(10.0)🔴  状态: Deferred  发布时间: 2026-07-23


🔍 技术细节速览

字段
CVE ID CVE-2025-71389
CVSS 评分 10.0 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-94
发布时间 2026-07-23
最后更新 2026-07-30
状态 Deferred
数据来源 disclosure@vulncheck.com


漏洞概述

CVE ID:CVE-2025-71389
CVSS 评分10.0(严重)
CVSS 向量CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
危害等级严重(Critical)

Cal.com(开源日程管理平台,calcom/cal.diy)在 5.9.9 版本之前存在一个严重的未认证远程代码执行漏洞。攻击者无需任何身份验证或用户交互,通过发送精心构造的 React Server Components(RSC)请求即可在服务器端触发任意代码执行。该漏洞源自上游 Next.js 的反序列化缺陷(CVE-2025-55182),Cal.com 因捆绑了存在漏洞的 Next.js 版本而受影响。


受影响组件与版本

组件 影响版本 修复版本
Cal.com (calcom/cal.diy) < 5.9.9 5.9.9
上游依赖:Next.js(内部 RSC 处理模块) 受 CVE-2025-55182 影响的版本 已更新

注意:由于 Next.js 的 RSC 反序列化漏洞(CVE-2025-55182)是一个独立上游漏洞,任何直接或间接使用了受影响 Next.js 版本的应用程序均可能受牵连。Cal.com 在 5.9.9 版本中通过升级依赖修复了此问题。


漏洞原理分析

该漏洞的核心成因是 Next.js 在处理 React Server Components (RSC) 请求时,对攻击者可控的输入进行了不安全的反序列化操作。RSC 是 React 18+ 引入的一种服务器端渲染机制,允许组件在服务端运行生成序列化数据流并传输至客户端。Next.js 实现了该协议,但在解析 RSC 请求载荷时,错误地信任了客户端提交的序列化数据。

根据 NVD 描述和上游 CVE(CVE-2025-55182)的分析,攻击链如下:

  1. 攻击向量:攻击者可直接向 Cal.com 的 HTTP 服务发送特制的 POST 请求,请求中包含针对 RSC 端点的恶意 payload(例如 Content-Type: application/jsontext/plain 格式的序列化对象)。
  2. 反序列化触发:Next.js 服务端在解析 RSC 请求时,会调用内部的反序列化逻辑(如 JSON.parse 或自定义 fromJSON 函数)来处理用户提交的数据。该逻辑未进行充分的输入校验,因此攻击者可以注入恶意的序列化数据。
  3. 利用反序列化链:通过构造特定的 JSON 对象(例如利用 __proto__constructor 等属性),攻击者可以触发 Node.js 原型污染或调用危险函数(如 requirechild_process.exec 等),最终实现远程代码执行(RCE)。

关键点

  • 无需认证:RSC 端点通常作为公共 API 暴露,未进行权限校验。
  • 无需用户交互:攻击完全在服务器端完成,受害者用户无需任何操作。
  • 攻击复杂度低:只需发送一个 HTTP 请求,无需特殊网络条件或中间人攻击(CVSS AC:L 确认)。

现有信息局限:虽然 NVD 未披露具体的反序列化 PoC 细节,但结合 CWE-94(代码生成控制不当)和 Next.js 生态历史漏洞(如 CVE-2024-34351 等),可以合理推断出攻击利用了 Node.js 中 evalnew Function 等效的反序列化行为。具体利用链可能依赖于 Cal.com 运行时环境中可访问的全局对象。


影响评估

根据 CVSS 4.0 向量,该漏洞的威胁特征如下:

维度 评分项 评价
攻击向量 (AV) 网络 (N) 攻击者可从任意网络位置发起攻击
攻击复杂度 (AC) 低 (L) 无需特殊条件,自动工具即可利用
攻击能力需求 (AT) 无 (N) 无需绕过任何缓解措施
所需权限 (PR) 无 (N) 不需要任何身份认证
用户交互 (UI) 无 (N) 受害者无需任何操作
机密性影响 (VC) 高 (H) 可读取任意服务器文件、数据库
完整性影响 (VI) 高 (H) 可修改系统配置、植入后门
可用性影响 (VA) 高 (H) 可导致服务崩溃或完全控制
安全影响范围 (SC/SI/SA) 高 (H) 突破应用隔离,影响底层主机

实际威胁场景

  • 完全远程接管:攻击者获得服务器操作系统级 shell 权限。
  • 数据泄露:获取 Cal.com 中所有用户的日程、配置、API 密钥等敏感信息。
  • 横向移动:利用被控服务器作为跳板攻击内部网络。
  • 供应链风险:由于 Cal.com 是开源日程管理工具,常被集成到企业内部系统,One-click 利用可导致整个业务受影响。

利用条件

  • 目标运行 Cal.com < 5.9.9 版本。
  • 服务器开放了对外 HTTP 端口(默认 80/443)。
  • 无额外的 WAF 或反序列化过滤器限制(但此类防护通常难以完全拦截 RSC 协议的定制发包)。

综合风险评级: 极高 —— 建议立即修复。


修复建议

官方补丁

  • 立即升级:将 Cal.com 更新至 5.9.9 或更高版本。该版本已通过更新 Next.js 依赖修复了上游 RSC 反序列化漏洞。
  • 命令(自建 Docker):docker pull calcom/cal.com:5.9.9 然后重新部署。
  • 源码部署:将 package.json 中的 next 依赖版本升级到修复了 CVE-2025-55182 的版本(具体版本号请参照 Next.js 官方公告)。

临时缓解措施(若无法立即升级)

  1. 限制网络访问:将 Cal.com 服务置于内部网络或 VPN 之后,禁止公网直接访问。
  2. 启用 WAF 规则:在反向代理(如 Nginx、Cloudflare)中添加规则,拦截所有含异常 __proto__constructorrequire 等关键字的 POST 请求。
  3. 监控异常日志:检查访问日志中是否存在大量针对 /api//_rsc 或类似 RSC 端点的可疑 POST 请求。
  4. 限制 Node.js 运行时能力:考虑使用 --experimental-vm-modules 沙箱或 vm2 等模块隔离执行环境(但需注意兼容性,且可能不完全有效)。

长期建议


参考资料

  1. CVE 详情页https://nvd.nist.gov/vuln/detail/CVE-2025-71389
  2. 上游 CVE(CVE-2025-55182):待 NVD 发布后更新
  3. CWE-94:代码生成控制不当(Improper Control of Generation of Code) – https://cwe.mitre.org/data/definitions/94.html
  4. Cal.com 官方发布https://github.com/calcom/cal.com/releases/tag/5.9.9
  5. Next.js 安全公告(RSC 反序列化)https://nextjs.org/blog/security-update-2025-05 (示例链接,实际以官方为准)
  6. CVSS 4.0 计算器https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

声明:本文基于 NVD 公开数据及常见漏洞分析框架编写,所涉及的技术细节均为合理推断。由于漏洞状态为 Deferred,部分细节可能随上游分析更新而变化。建议关注 Cal.com 和 Next.js 官方渠道获取最新信息。