- 16歳のバグハンターが、サービス側が一切検証していなかった無署名のログイントークンを使い、Microsoft社内の分析サービス「Titan」の管理者権限を取得
- 推定17.3兆行の保存データと、約2万5,000件のアカウントを記録したメタデータテーブルにアクセス可能な状態だった。ただしFaav氏は、データのサンプル確認にとどめ、レコードのダンプや顧客データへの接触は避けたと説明
- Microsoftはその後サービスのセキュリティを強化し、報奨金5,000ドルを支払った。「兆行」という数字は理論上のストレージ推定値にすぎず、実際に顧客情報が露出したわけではないと説明
「Faav」を名乗る16歳のバグハンターが、正規の認証情報からは生成されるはずのないトークンを使い、Microsoft社内の分析プラットフォーム「Titan」にログインしました。管理者の立場から、推定17.3兆行の保存データと、約2万5,000件のアカウントを一覧にしたメタデータテーブルを閲覧できたといいます。
Microsoftは同氏に5,000ドルを支払い、脆弱性はすでに修正されました。同氏は調査結果をオンラインで詳しく公開しましたが、影響については実際の侵害ではなく、あくまで仮定の話だとしています。
同氏によると、侵入の糸口はたった1つの検証漏れでした。本来はVPNの内側でMicrosoft社員しか使えないはずのシステムに、これでアクセスできたといいます。
悪用されれば壊滅的になりかねない単純なミス
MicrosoftのTitanは、Webインターフェースを社員に限定するため「VPN required」ページの背後に置かれています。ところがAPIはAzure Cloud Servicesのホスト経由で到達可能なままで、そのAPIを記述したSwaggerファイルには4つのアクセス経路が記載されていました。
このうち3つはAzure AD認証を要求しましたが、「/v2/Query」だけは認証が不要で、生のSQLを受け付けました。Faav氏はここを足がかりにしました。しかも手探りだったわけではありません。どのテーブルを問い合わせるべきかを知るため、Wayback MachineからTitanのページの2023年のスナップショットを取得し、56個のテーブル定義を列挙したアーカイブ済みのApache Superset設定を入手しています。
さらに根深い欠陥は、ログイントークンの扱い方にありました。Faav氏の説明によると、TitanはJSON Web Token(JWT)の中身(テナント、オーディエンス、アプリケーションID、ユーザー)は確認していたものの、トークンが本物であることを証明するはずの暗号署名は検証していませんでした。同氏はこれを、すべてのドアにキーカードリーダーが付いているのに、どのカードでもどの部屋も開くホテルにたとえ、実質的に役に立たない確認だと述べています。
同氏は無署名のトークンを送信しましたが、10日間ログインに失敗し続けました。その後、「upn」フィールドを実在のメールアドレスとして扱うのをやめ、単純に文字列「admin」を設定しました。TitanはこれをローカルユーザーID 1、つまり管理者ロールを持つユーザーとして解決し、同氏のクエリを実行しました。
この一件には、AIをめぐる興味深い副筋もあります。Faav氏は自作のオーケストレーションボット「Antares」を使ってバグを探しており、OpenAIのCodexとAnthropicのClaudeを動かしていたといいます。Antaresはサブドメインの列挙や攻撃対象領域のマッピングといった地道な作業を担当し、偽造トークンを4層の検証に1つずつエラーメッセージを頼りに通していきました。
ただし、UPNを探す段階では行き詰まりました。メールアドレスだけを試し続けてしまったのです。可能性の高いメールアドレスを使った総当たり的な手法であれば、それ自体は問題ではありません。しかし最終的にアクセスを得るには、ハッカー本人が手作業で代替案として「admin」を試す必要がありました。
管理者アクセスにより、Titanのプラットフォームメタデータデータベースが開きました。同氏の集計では、約2万5,000件のアカウントとメールのレコード、約1万8,000件の従業員メールのレコード、1万5,000件の組織レコード、数万件のダッシュボード、チャート、データセット定義が保存されていました。
開示は、同氏が2026年9月5日にケース番号144051として報告して以降、迅速に進みました。Microsoftは9月6日から8日にかけて、テストの中止とIPアドレスの提出を同氏に求め、9月9日にエンドポイントを閉鎖し、9月17日に報奨金を支払いました。
ただし、注意すべき点があります。Faav氏によれば、Microsoftはこの報告記事に編集上の関与をしており、公開前に一部の節や数字を削り、影響の書き方も変更させたといいます。つまり、このバグに関する最も権威ある説明は、すでに当事者である企業によって形作られているのです。それでも、このバグが小さいわけではありません。たった1つの署名検証の欠落が、Titanのほかのあらゆるアクセス制御を無意味にしていました。悪用されれば深刻なセキュリティ上の悪夢になりかねなかった問題を、未然に防いだのが10代の少年です。同氏はAmazon、Google、Adobeでも同様のバグで成果を上げており、Microsoftへの報告も今回が初めてではありません。