Gremlin APIの重大な脆弱性により、Microsoft自身のサービスを含むあらゆるCosmos DBインスタンスへの侵入経路が存在していました。同社がプラットフォームを再設計する以前の話です。
Microsoft Azureのデータベースサービス「Cosmos DB」に存在した重大な脆弱性を悪用すれば、攻撃者はプラットフォームのGremlinクエリサンドボックスから脱出し、共有インフラ上でコードを実行した上で、最終的にあらゆる顧客のデータベースにアクセスできた可能性があります。これにはEntra ID、Teams、Copilotといった Microsoft自社サービスが利用するデータストアも含まれると、クラウドセキュリティ企業Wizが発表した調査結果が明らかにしています。
この脆弱性は「CosmosEscape」と名付けられ、一連の欠陥を連鎖的に悪用することで、Wizの研究者はプラットフォーム全体に及ぶ認証情報、いわゆる「Cosmos Master Key」を取得できたとしています。この鍵があれば、あらゆるAzure Cosmos DBアカウントのプライマリキーを取得することが可能でした。
Wizの研究者Yuval Avrahami氏とLior Maman氏はブログ記事で次のように述べています。「これらの能力を連鎖させることで、特定の組織のデータベースを特定してから侵害するまで、すべてを一般公開されているエンドポイントのみからプラットフォーム規模で精密に狙い撃ちすることが可能になっていました」
サービスのクエリエンジンを悪用
Wizによると、今回の攻撃はAzure Cosmos DBが対応する複数のクエリインターフェースの一つであるGremlin APIに端を発しています。研究者らがGremlinクエリをテストしていたところ、.NETの例外が発生することに気付き、Microsoftが標準実装ではなく独自のGremlin実行エンジンを使用していることがうかがえたといいます。
研究者らは、.NETのリフレクション周りの制限が不十分であることを突き止め、これを悪用してGremlinサンドボックスから脱出し、顧客のクエリ実行を担うサービス「Cosmos DB Database Gateway」上で任意のコードを実行できることを確認しました。
このアクセス権により、研究者自身のデータベースだけでなく、あらゆるCosmos DBアカウントのプライマリキーを取得できる認証情報が露呈しました。Wizによると、同じプラットフォーム認証情報を使えば、Cosmos DBのリージョン設定ストアにもアクセスでき、攻撃者はテナントIDやサブスクリプションIDでデータベースアカウントを列挙してから、そのプライマリキーを取得することができたとしています。
「まもなく、この署名鍵が単一のアカウントに限定されたものではないことが判明しました」とWizはブログで述べています。「この鍵はテナント、リージョンをまたいで機能するだけでなく、SQL、MongoDB、Cassandra、GremlinといったAPIの種類を問わず機能していました」
研究者らはさらに、この攻撃連鎖の影響が顧客のワークロードにとどまらないと付け加えています。Cosmos DBは複数のMicrosoftクラウドサービスの基盤となっているため、Microsoft Entra ID、Teams、Copilotを支えるデータベースも潜在的にアクセス可能な状態にあったとのことです。また、侵害されたDatabase Gatewayがネットワーク境界の管理を担っていたことから、プライベート環境やネットワーク分離されたCosmos DB環境も同様にリスクにさらされていたと、ブログは付け加えています。
Microsoft、悪用の証拠はないと説明
Wizは、2025年11月20日にこの脆弱性をMicrosoftへ非公開で報告したとしています。公開された開示タイムラインによると、Microsoftは48時間以内に脆弱なGremlin攻撃経路を遮断し、その後2026年7月までに全Azureリージョンにわたるより広範なアーキテクチャの再設計を完了させました。
Microsoftはその後、この脆弱性を完全に修正しています。Wizの開示と合わせて公表された声明の中で同社は、調査の結果、研究者によるテスト以外に不正な活動が行われた形跡はなく、顧客データへのアクセスもなかったこと、また顧客側での対応は不要であることを明らかにしました。
「顧客側での対応は必要ありません」と、Microsoftの発言を引用する形でブログは付け加えています。
Wizによると、Microsoftはこれに合わせて、同社が「Cosmos Master Key」と呼んだプラットフォーム全体に及ぶ認証機構そのものも廃止したとのことです。
Microsoftは、追加コメントを求める取材に対し、本稿執筆時点で応答していません。
企業はプロバイダーの分離体制を精査すべき
Microsoftは顧客側で早急な対応は不要としていますが、今回の開示は、クラウド顧客が通常自ら管理するセキュリティ制御よりもさらに下位のレイヤーに存在するリスクを浮き彫りにしたと、IDCのシニアリサーチマネージャーであるSakshi Grover氏は指摘します。
「CosmosEscapeは、テナント分離が顧客側で設定・監視できるレイヤーよりも下位で破綻し得ることを示しています」とGrover氏は述べています。
暗号化、プライベートネットワーキング、ID管理といった機能面だけでマネージドデータベースサービスを評価するのではなく、企業はプロバイダーがテナント側で制御可能な実行環境と特権を持つサービスコンポーネントをどのように分離しているか、内部の認証情報がどこまでの範囲に限定されているか、そして共有インフラが侵害された場合に被害をどう封じ込めるかを精査すべきだと、同氏は述べています。
Grover氏は、自社のサービス基盤のテレメトリを把握できるのはMicrosoftのみであることから、同社の評価は大きな重みを持つべきだとしています。ただし、Cosmos DBのGremlin APIを利用している組織は、利用可能なログを確認し、機密性の高いワークロードが影響を受けていないかを判断した上で、規制やコンプライアンス上の要件がある場合はMicrosoftからさらなる保証を求めるべきだとも述べています。
また同氏は、今回の一件を機に、各組織は静的なデータベースアカウントキーへの長期的な依存を減らし、可能な範囲でマネージドID、きめ細かなロールベースアクセス制御、クライアント側暗号化の採用を進めるべきだと指摘しています。
より広い視点で見ると、Grover氏はこの脆弱性が、ハイパースケールクラウドプラットフォーム内部における権限境界を精査することの重要性を物語っていると述べています。
「ハイパースケールサービスは往々にして、多数の顧客をまたいで動作する特権を持つゲートウェイ、コントロールプレーン、メタデータストア、サービスIDに依存しています」と同氏は言います。「テナント側から制御可能な入力がこうしたコンポーネントの近くで処理される場合、脆弱性は一見別個に見えていたセキュリティ境界を越えて、プラットフォーム規模の影響を及ぼしかねません」