いくつかのバグを組み合わせると他人のMicrosoftアカウントを簡単に乗っ取れたことが判明した。これはユーザーに偽のリンクをクリックするよう仕向けるものだ。safetydetectiveは記事の公開に先立ってTechCrunchに内容を報じた。
Sahad Nkはsafetydetectiveと協力するインド在住のプログラマーで、脆弱性の発見を専門にするいわゆるバグ・ハンターだ。NkはMicrosoftのサブドメイン、success.office.comのコンフィグレーションが正しくないことを見つけ出した。
このサブドメインはOfficeへのログインにあたって使われるもので、CNAMEレコードというのはDNSが名前を解決するときに参照するソーン・ファイル中のデータだ。safetydetectiveの記事によれば、Nkはhost checkによりCNAMEにsuccessor.officeの別名として自身のサイトを書き込み、このサブドメインをコントロールすることができるようになったという。
ユーザーがMicrosoftのLive login systemを使ってOffice、Store、Swayのアプリにログインを試みた場合、Nkは自分がコントロールするサイトを利用して認証ずみログイン・トークンを送ることができることも発見した。
この脆弱性はアプリが正規表現のワイルドカードを使ってoffice.comすべて(Nkがコントロールするサブドメインも含めて)を信頼済みとして扱うというバグに由来する。
ハッカーはこの脆弱性を利用するために特別に書かれたリンクをメールで送ることができる。ユーザーはMicrosoftのログイン・システムにユーザー名とパスワード、(有効にしている場合は)2段階認証コードを入力する。システムはいちいちこの手続を何度も繰り返さなくてもすむよう、ユーザーをログインした状態に保つためのアクセス・トークンを入手できる。アクセス・トークンを入手するのは認証情報をすべて入手するのと同じことだ。攻撃者はアンチ・マルウェア・サービスに気づかれることなく自由にユーザー・アカウントに侵入できる。今年、これに煮たアカウント・トークンの脆弱性は3000万人のFacebookアカウントに危険をもたらしている。
悪意あるサイトを通じてMicrosoftのログインシステムを作動させるように書かれたリンクは無数のユーザーに極めて深刻な危険をもたらす。攻撃者は自分がコントロールするサブドメインを通じてアクセス・トークンを入手できるだけでなく、そのために用いるURLもまったく正常なものとみえる。ユーザーはMicrosoftのログイン・システムを使って正常にログインできるし、URLからwreplyパラメータをチェックしても悪意あるサイトはOfficeのサブドメインだから不審は発見できない。
これはつまり、個人だろうと大企業だろうと、どんなOfficeアカウントにも攻撃者が簡単にアクセスできることを意味する。また悪意あるサイトであることを発見することも不可能に近い。
Nkと協力者のPaulos Yibeloは問題をMicrosoftに報告し、同社はこの脆弱性を除去した。
Microsoftの広報担当者はTechCrunchの問い合わせに対して、「Microsoft Security Response Centerはこの問題を検討し、 2018年11月に対応策を実行した。これによりCNAMEレコードからNkが作成したAzureのインスタンスは除去された」とメールで回答してきた。
MicrosoftはNkの貢献に対してバグ発見報奨金を支払った。
〔原文へ〕