本文へスキップ

Microsoft TitanのJWT欠陥、17.3兆行のデータが10代の研究者に露出

Titanは署名のないログイン用JWT(JSON Webトークン)を受け入れていたため、16歳の研究者が17.3兆行を保持する17のデータベースに照会できました。Microsoftは修正し、同氏に5,000ドルを支払いました。

著者 Tech AI Wire Team

3 分で読めます

灰色の石の看板に掲げられた金色のMicrosoftロゴ。緑の低木に一部囲まれています。
写真: Wikimedia Commons

数字で見る

rows in the databases Titan exposed
17.3T
analytics databases reachable
17
bug bounty Microsoft paid
$5,000
from report to lockdown
4 days

Faavと名乗る16歳のセキュリティ研究者が、Microsoftの分析サービスTitanが偽造されたログイントークンを受け入れていたことを発見しました。CyberPressによると、この欠陥によって同氏は、推定17.3兆行のデータを保持する17のデータベースへの管理者アクセスを得ました。Microsoftは2026年9月9日にサービスを封鎖し、同氏に5,000ドルのバグ報奨金を支払いました。原因は、Webセキュリティで最も古いミスの1つでした。サービスがトークンの署名を一度も確認していなかったのです。

Titanで何が起きたのか

TitanはMicrosoftの分析プラットフォームです。多くのWebサービスと同じく、誰がログインしているかを把握するためにJSON Web Token(JWT)を使っています。JWTは、ユーザー名とデジタル署名を収めた小さな通行証です。サーバーはその署名を確認することになっています。署名は、サーバー自身がその通行証を発行したことを証明するからです。

iTnewsによると、Titanはその確認を省いていました。CyberPressによると、Faav氏はトークンのアルゴリズム欄を「none」に設定しました。これは、そのトークンに署名がまったくないことを宣言する値です。次に、ユーザー名のクレームを「admin」に変更しました。Titanはそれを受け入れました。

iTnewsによると、「admin」としてログインすると、ユーザーID 1と完全な管理者権限が得られました。そこから同氏は、管理者としてSQLクエリを送信できました。SQLクエリとは、データベースからデータを読み出すための命令です。

どれだけのデータが露出したのか

Titanが大量のデータの前に置かれていたため、数字は大きくなります。CyberPressは、研究者が洗い出した内容を次のように挙げています。

アクセスできたもの数
ClickHouseデータベースの構成24
接続された分析データベース17
固有のテーブル名9,863
推定行数17,333,335,124,315
アプリケーションアカウント約25,000
Microsoft従業員のメール記録17,990
従業員の組織記録15,001

ClickHouseは、非常に大きなテーブルを高速に分析するために作られたオープンソースのデータベースです。VnExpressは、従業員の記録を約18,000件と丸めています。

Faav氏は、痕跡を最小限にとどめました。iTnewsによると、約10日間のテストで取得したのは、1行だけのサンプル2件のみでした。

発見を支えたAIツール

Faav氏は、セキュリティ研究の反復的な作業をこなすAIツール「Antares」を作りました。CyberPressによると、Antaresが最初にこの欠陥を検出したのは8月25日でした。その後、研究者が手作業で追跡しました。

「Antaresだけではここまで来られなかったし、私もそうでした」とFaav氏は語ったと、iTnewsとVnExpressが伝えています。同氏は、Antaresの粘り強さに「人間の直感1つ」が加わったおかげだとしています。

Microsoftの対応

Microsoftが把握してからの修正は迅速でした。VnExpressは以下の時系列を示しており、CyberPressも最後の2つの日付が一致しています。

日付(2026年)出来事
8月25日Antaresが欠陥を検出
9月5日Faav氏がMicrosoftに報告
9月9日Microsoftが同氏にテストの中止を求め、APIを封鎖
9月17日Microsoftが5,000ドルの報奨金を授与

Microsoftは声明で同氏に感謝しました。VnExpressの引用によると、同社は、同氏の報告が「サービスを強化することで、お客様をよりよく保護するのに役立ちました」と述べました。iTnewsの記事はさらに、Faav氏が公開した報告書についてMicrosoftが編集上の意見を出したと伝えています。セクションの削除、画像の黒塗り、影響の説明の仕方の変更などが含まれます。

開発者にとっての意味

運用しているすべてのサービスが、JWTの署名を検証し、「none」と記されたトークンを拒否しているか確認してください。ほとんどのJWTライブラリはデフォルトでそうしています。しかし、設定の誤りや手書きのパーサーによって、この確認が無効になることがあります。「none」アルゴリズムのトークンを送信し、拒否されることを期待するテストを書いてください。

サーバーが受け入れるアルゴリズムを固定してください。トークン自身に、サーバーがどう確認すべきかを決めさせてはいけません。10月2日にGitHubのAppインストールトークンがJWTになったため、これらのトークンを直接扱う開発者は増えるでしょう。

分析ツールや管理ツールは、外部にさらされているものとして扱ってください。外部の研究者が、偽造したトークンだけでTitanのAPIにたどり着きました。バックオフィスのダッシュボードにも、公開アプリと同じ認証テストを行ってください。また、「admin」という1つの名前ですべてが解除されるようにしてはいけません。

同様の発見はさらに増えると考えてください。この欠陥を見つけたのは、自作のAIツールを持つ10代の若者でした。攻撃者も同じ種類のツールを作れます。そのため、署名確認の省略のような基本的なミスは、より早く見つかるようになります。

出典

  1. Teen researcher with AI hackbot cracks Microsoft's Titan analytics - iTnews
  2. 16-Year-Old Researcher Finds Microsoft Flaw Exposing Access to 17 Trillion Data Records - CyberPress
  3. 16-year-old finds flaw exposing Microsoft system linked to 17 trillion data rows - VnExpress International

関連記事

Hugging Face上にあるMicrosoftのThinkingBox-Benchデータセットページのスクリーンショット。データセットビューアに小売とEコマースのタスクが並んでいる。
AI・LLM

Microsoft ThinkingBox、AIエージェントをデータベースで採点

MicrosoftのThinkingBox(シンキングボックス)は、AIエージェントがデータベースに書き込んだ内容を確認します。失敗した79,853回の実行のうち67.24%は、有効なツール呼び出しで正常に終わり、データは誤っていました。