Azure Cosmos DB 漏洞暴露平台级密钥,可访问任意数据库

Azure Cosmos DB 漏洞暴露平台级密钥,可访问任意数据库

导语:Wiz 研究人员披露了 Azure Cosmos DB 中一个现已修复的严重漏洞 CosmosEscape,攻击者可借此逃逸 Gremlin 查询沙箱,访问跨租户的数据库主密钥。

Wiz 将该攻击链命名为 CosmosEscape,并表示整个攻击链从针对攻击者控制的 Gremlin 数据库的一条精心构造的查询开始。

Wiz 指出,在多租户网关上实现代码执行后,攻击者能够获取一个平台级签名密钥和一个区域级账户目录,从而定位目标并检索其主账户密钥。Microsoft 在收到 Wiz 于 2025 年 11 月的报告后,于 48 小时内封堵了存在漏洞的 Gremlin 入口点。Wiz 表示,Microsoft 于 2026 年 7 月在所有区域完成了长期修复,并消除了这一平台级密钥。

Microsoft 发言人向 The Hacker News 表示:「我们感谢 Wiz 通过协同漏洞披露流程识别并报告此问题。我们已彻底解决该问题,根据调查未发现任何客户受到影响的证据。我们将继续在整个平台投入额外的安全增强措施。」Microsoft 称其审查未发现研究人员测试之外有任何未经授权的活动,并表示没有客户数据被访问,客户无需采取任何行动。

根据 Wiz 的技术文章,Cosmos DB 的自定义 Gremlin 引擎会将 Gremlin 查询翻译成 .NET 代码,并在受限环境中执行。Wiz 表示,该环境的限制未能覆盖 .NET 反射机制,使研究人员得以构建文件读取和文件写入原语,进而实现任意代码执行。公开披露的内容展示了一条精心构造的查询在 Cosmos DB 后端执行 hostname 命令的输出,但并未公开该查询本身。研究人员表示,他们将在 8 月 6 日的 Black Hat USA 会议上完整展示该攻击链。

原文配图

代码执行落在 Wiz 称为 DB Gateway 的组件上,该组件在多租户 Azure Service Fabric 集群上执行客户查询。客户数据库并不存储在这些集群上,但网关能够检索所请求 Cosmos DB 账户的主密钥。Microsoft 文档指出,Cosmos DB 账户主密钥可对该账户内的所有资源授予完全控制权限。网关还可访问 Wiz 称为「Cosmos Master Key」的签名密钥。Wiz 表示,该网关的签名密钥能够跨租户、跨区域以及 SQL、MongoDB、Cassandra 和 Gremlin API 检索任意账户的主密钥。

同一密钥还打开了一个称为 Config Store 的区域级数据库,Wiz 将其描述为包含 Cosmos DB 账户名称、订阅和租户标识、网络设置及标签的目录。攻击者可利用该目录查找特定组织的账户,然后请求其主密钥。Wiz 表示,该攻击链还能够触达私有和网络隔离的账户,因为被攻陷的网关从服务内部执行了这些网络边界策略。研究人员对 Config Store 的写访问权限表明网络设置也可能被更改,但报告并未说明他们是否针对其他客户的账户进行过此类演示。

Microsoft 文档显示 Teams 消息数据仍存储在 Cosmos DB 中,Microsoft 的一篇工程博文则指出 Copilot 将用户的查询和对话历史也存储在那里。Wiz 表示,支持这些产品的数据库理论上可被访问,但其并未报告实际访问过这些数据。公开资料未说明存在漏洞的引擎和签名密钥路径何时投入生产,也未说明 Microsoft 日志审查覆盖了多长时间。因此,潜在暴露时长仍然未知,但已知路径已被关闭。本次披露未列出 CVE 标识符或严重性评分。CosmosEscape 在技术上与 2021 年和 2022 年披露的 ChaosDB 和 CosMiss 漏洞相互独立,后者涉及 Cosmos DB 的 Jupyter Notebook 功能。


来源信息

来源:The Hacker News

原文链接:https://thehackernews.com/2026/07/azure-cosmos-db-flaw-exposed-platform.html

作者:info@thehackernews.com (The Hacker News)