16歳のハッカーが署名検証なしのJWTを悪用し、Microsoftの17兆件超のレコードに到達
I Could've Accessed 17T Microsoft Records

当時15歳のFaav氏は、AIハックボットAntaresとともにMicrosoftの内部分析サービスTitanのAPIを調査。JWTの署名を検証していない欠陥を突き、upnをadminに変えるだけで管理者権限でSQLを実行できた。推定17.3兆行のデータに到達可能だったが、実際の顧客データには触れず、MSRCに報告した。
TitanはJWTの内容(テナント、オーディエンス、アプリID、ユーザー)を検証したが、署名は一切確認していなかった。認証チェックは、すべてのドアにカードリーダーが付いているのに、どのカードでもどの部屋が開くホテルのようだった。
HNでの議論
101- john_strinlai
>Microsoft had editorial control over this post, cutting sections and figures and reshaping how the impact is described before publication.
それは…良くないな。Microsoftは恥を知れ。
こういう行動があるからこそ、世の中に悪夢のような日食が起きる理由が明らかになるんだ。開示内容の完全な編集権を子供に圧力をかけて奪うなんて、最低だ。
- sdfhbdf
> awarded $5000
ちょっと不可解だ。もちろん、エクスプロイトの価値評価は難しいからいつも物議を醸す話題だが、オンラインでこういう話を読むたびに——おそらく生存者バイアスがかかっているのだろうが——報奨金はかなり低いように思える。
https://www.microsoft.com/en-us/msrc/bounty を見ると、どのプログラムに該当するかによるが、最高額は$100,000か$250,000のようだ。
HNの意見は?なぜたったの$5000なんだ?
- throwaway2037
> やあ!Faavです。1年ちょっと前、15歳のときに「Break into any Microsoft building: Leaking PII in Microsoft Guest Check-In」という、初めてのMicrosoftに関する記事を公開しました。今は16歳で、今回はもう少し規模が大きいです。
くそ、こいつらは15歳の子供に教え込まれたのか!言うまでもない…
- verst
Microsoftには、こうしたJWTの問題をすべて確実に回避する内部ライブラリがある——Microsoft Identity Service Essentials(MISE)だ。MISEを採用し、最新バージョンにアップグレードすることは、ここ数年ニュースで読めるSecure Future Initiative(SFI)の一部となっている。残念ながら、サービスチームは受け取ったはずのコンプライアンス警告を意図的に先送りしたようだ。
- rdtsc
> {"alg":"none","typ":"JWT"}
これがどうして仕様に許容され、仕様から選ばれて様々な実装で実装されるようになったのか、私には理解できない。
- er0k
わあ、JWTがひどいってまた聞かされて本当に驚きだよ
- zk
落ちは…これで報奨金がたったの5kって正気じゃない。とはいえ、攻撃者はおそらくそこまで多くのクエリを実行する必要はなかっただろうけど…
09/17/26 - Awarded $5,000
- f311a
Antaresとは何だ?1Bモデル以外に関連するものは見つからないが、それは自動研究ができるようには思えない。
UPD: 彼の個人的なボットだ。