微软刚刚躲过了一场严重的安全危机:一家安全公司发现了一个高危漏洞,该漏洞一旦被利用,可能导致所有 Azure Cosmos DB 数据库遭到入侵,波及范围涵盖客户数据库及微软自身的数据库。

谷歌旗下安全子公司 Wiz 在该数据库的 Gremlin API 中发现了这一安全缺陷。Gremlin API 通常用于存储和管理属性图数据。

若恶意攻击者抢先发现该漏洞,则可通过利用它获取 Wiz 所称的"Cosmos 主密钥",进而使用任意 Cosmos 数据库的主密钥,从而实现对任意账户的读写权限。攻击者还将能够获取该服务上所有数据库的列表,以及订阅 ID、租户 ID 等标识信息。

Azure Cosmos DB 是一款 NoSQL 数据库,是微软云服务的重要基础组件,支持通过 Python、Node.js、Java 和 .NET 等框架的 SDK 进行访问。

Wiz 在一篇博客文章中详细描述了漏洞的发现过程,并于 2025 年 11 月将漏洞详情披露给微软。

微软在两天内部署了热修复补丁,但此后又花费了八个月时间对基础架构进行全面重构,彻底移除了 Cosmos 主密钥,并为 Cosmos DB 引入了新的防护机制,以防范同类攻击的发生。

这并非 Cosmos DB 客户的主密钥首次面临安全威胁。早在 2021 年,Wiz 就曾在数据探索工具 Jupyter Notebook 中发现一个漏洞,该漏洞可被利用来访问数据库密钥及其他敏感信息。

Q&A

Q1:Azure Cosmos DB 的 Gremlin API 漏洞会造成哪些危害?

A:如果恶意攻击者抢先发现该漏洞,可通过它获取"Cosmos 主密钥",从而拥有对任意 Cosmos 数据库账户的读写权限,并能获取服务上所有数据库的列表及订阅 ID、租户 ID 等敏感标识信息,危害极为严重。

Q2:微软是如何应对这次 Azure Cosmos DB 漏洞的?

A:微软在收到 Wiz 的漏洞披露后,两天内即部署了热修复补丁。此后又历时八个月对基础架构进行全面重构,彻底移除了 Cosmos 主密钥,并引入新的防护机制,以防止类似攻击再次发生。

Q3:Azure Cosmos DB 的主密钥之前是否发生过安全问题?

A:是的,这并非首次。2021 年,Wiz 曾在数据探索工具 Jupyter Notebook 中发现一个漏洞,该漏洞可被用于访问 Cosmos DB 的数据库密钥及其他敏感信息,此次事件与之前的安全风险如出一辙。

InfoWorld