Skip to main content
MSRC

マイクロソフト、Jupyter Notebooks for Azure Cosmos DB の脆弱性を修正

本ブログは、Microsoft Mitigates Vulnerability in Jupyter Notebooks for Azure Cosmos DB の抄訳版です。最新の情報は原文を参照してください。


概要

昨今マイクロソフトは、Orca Security によって報告された Jupyter Notebooks for Azure Cosmos DB (現在はプレビュー段階) の認証バイパスの脆弱性を修正しました。 Jupyter Notebooks を使用していないお客様 (Azure Cosmos DB を利用しているお客様の 99.8% は、Jupyter Notebooks を使用していないお客様です) は、この脆弱性の影響を受けませんでした。

この問題は 8 月 12 日 (米国時間) から存在し、報告から 2 日後の 10 月 6 日 (米国時間) に世界中で完全に修正を適用しました。この脆弱性を悪用するには、攻撃者はアクティブなセッションの、128 ビットで暗号的にランダムな GUID を推測し、1 時間以内にそれを利用する必要があります。マイクロソフトは 8 月 12 日 (米国時間) から 10 月 6 日 (米国時間) までのログ データを調査し、悪意のあるアクティビティを示すブルートフォース要求がなかったことを確認しています。

本件に関して影響を受けたお客様はおらず、お客様にて必要なアクションはありません。

技術的な詳細

前述のように、この脆弱性を悪用するには、攻撃者はセッションごとの一意な GUID を把握し、セッションがアクティブな 1 時間以内に攻撃することが必要です。

Azure Cosmos DB 用の Jupyter Notebooks は、最大有効期間が 1 時間の一時的な notebook workspace のコンテキストで実行されます。1 時間が経過すると、 workspace とその中のすべてのデータ (notebook を含む) が自動的に削除されます。一時的な workspace は、ランダムに生成された一意な識別子 (forwardingId とも呼ばれます) によって識別されます。

別のユーザーのアクティブで一時的な notebook workspace の forwardingId が推測できる場合、この脆弱性により、攻撃者は対象の workspace 内の notebook への読み取り/書き込み が可能なアクセス権を取得する可能性があります。潜在的な影響は、一時的な notebook workspace がアクティブな時間 (最大 1 時間) 中の対象の notebook の読み取り/書き込みアクセスに限定されます。この脆弱性は、 forwardingId を知っていても、 notebook を実行する、対象の (オプションの) 接続された GitHub リポジトリに notebook を自動的に保存する、または、Azure Cosmos DB アカウントのデータにアクセスすることを 可能にするものではありませんでした。

forwadingID は、長さが 128 ビットで、ランダムに生成され、1 時間以内に期限が切れ、再利用されないため、この脆弱性を悪用することは困難です。2022 年 8 月、Azure Cosmos DB Jupyter notebook で使用されるバックエンド API の 1 つを変更したことが要因となり、要求が期待どおりに認証されない結果になっていました。

前述のように、マイクロソフトは 2022 年 10 月 6 日 (米国時間) にこの脆弱性を軽減しました。本件に関して影響を受けたお客様はおらず、お客様にて必要なアクションはありません。

謝礼

Orca Security によって報告された調査結果をもとに、サービスをさらに強化することができ、感謝しています。また、彼らが Microsoft バグ報奨金プログラム の条件に基づいて安全なセキュリティ調査を実践してくれたことに感謝します。すべての研究者は、協調脆弱性開示(CVD) の下でベンダーと協力し、セキュリティ調査を実施している間に顧客データに影響を与えないように、侵入テストのエンゲージメント ルールを遵守することを推奨しています。

参照

本件に関して質問がある場合には、Azure ポータル aka.ms/azsupt からサポート ケースを起票してください。


How satisfied are you with the MSRC Blog?

Rating

Feedback * (required)

Your detailed feedback helps us improve your experience. Please enter between 10 and 2,000 characters.

Thank you for your feedback!

We'll review your input and work on improving the site.