Chromiumの脆弱性がChrome、Edge、Atlasをクラッシュさせる:Googleの沈黙を受け研究者がエクスプロイトを公開

Brashと名付けられたこの脆弱性は、document.title APIを大量に呼び出すことで数秒でブラウザをクラッシュさせることができ、Googleの沈黙は脆弱性開示プロセスに疑問を投げかけている。

Chromiumのレンダリングエンジンに存在する脆弱性を悪用された場合、攻撃者によってChrome、Microsoft Edge、その他7つのブラウザが数秒でクラッシュする可能性があると、セキュリティ研究者がGoogleに2か月間脆弱性報告を無視された後に警告した。

Jose Pinoは10月29日にこの脆弱性の概念実証コードを公開し、30億人以上のユーザーがブラウザのクラッシュやシステムの不安定化にさらされる可能性があることを示した。この脆弱性は、すべてのChromium系ブラウザの基盤となるレンダリングエンジン「Blink」の根本的な設計上の弱点を突いている。

このタイミングは、Googleの脆弱性対応プロセスに不都合な疑問を投げかけている。Pinoは8月28日にこの脆弱性を報告し、8月30日にフォローアップしたが、研究を公開するまで何の返答も得られなかった。

「最初の報告から2か月間返答がなかったため、広範なインターネット利用者に影響を与える深刻な問題に注目を集めるため、このPoCを公開することにしました」とPinoはGitHubで公開した技術文書で述べている。「責任ある開示で迅速な対策がなされない場合、一般の認知が必要だと考えます。」

Google、Microsoft、OperaやVivaldiを含むその他7つの影響を受けるブラウザベンダーはいずれもコメント要請に応じなかった。

攻撃の仕組み

PinoがBrashと名付けたこの脆弱性は、Blinkにおけるdocument.title API更新に対するレート制限が完全に欠如している点を悪用している。1秒間に何百万回ものタイトル変更をブラウザに送り込むことで、攻撃者はメインスレッドを飽和させ、クラッシュを引き起こすことができる。

「攻撃ベクトルは、document.title API更新に対するレート制限が完全に欠如していることに起因します」とPinoは技術文書で述べている。「これにより、1秒間に何百万回ものDOM変化を注入でき、この注入の試み中にメインスレッドが飽和し、イベントループが妨害され、インターフェースが崩壊します。」

このエクスプロイトはChromiumバージョン143.0.7483.0以前に影響する。PinoはmacOS、Windows、Linux、Android上で11のブラウザをテストし、Chrome、Edge、Vivaldi、Arc、Dia、Opera、Perplexity Comet、ChatGPT Atlas、Braveの9つが脆弱であることが判明した。

FirefoxとSafariは影響を受けなかった。両者はそれぞれGeckoとWebKitという異なるレンダリングエンジンを使用しており、Blinkの構造的欠陥を共有していない。すべてのiOSブラウザもAppleの要件によりWebKitを使用しているため、影響を受けないとPinoは文書で付け加えている。

Pinoのテストでは、エクスプロイトが予測可能な崩壊タイムラインを生み出した。0~5秒でCPU使用率が極端に上昇し、5~10秒でタブが完全にフリーズ、10~15秒でブラウザの崩壊や「ページが応答していません」ダイアログが発生、15~60秒で強制終了が必要となった。

デスクトップクラッシュを超えて:企業の自動化にもリスク

ブラウザのクラッシュは個人ユーザーにとっては迷惑だが、この脆弱性は企業の自動化にさらに大きなリスクをもたらす。AIエージェント、取引システム、運用監視のためにヘッドレスChromiumブラウザを運用している組織は、ワークフローの麻痺に直面する可能性があると文書は述べている。

Pinoの文書では、いくつかの企業向け攻撃シナリオが示されている。AIエージェントが侵害されたウェブサイトを照会した場合、分析の途中でクラッシュし、自動取引判断が停止する。詐欺検出ダッシュボードが取引ピーク時に崩壊する可能性もある。

ウェブベースの手術ナビゲーションシステムが重要な手術中に停止する恐れもある。「ブラウザプロセスが崩壊し、分析パイプライン全体が停止します」と研究文書は述べている。

Pinoの概念実証コードには、攻撃者が特定のタイミングでクラッシュを引き起こせるスケジューリングパラメータが含まれていた。攻撃者はコードにタイムディレイを仕込むことで、重要な瞬間(市場の開場、シフト交代、ピーク運用時)まで休眠させておくことができる。

「Brashの危険性を増幅させる重要な特徴は、特定のタイミングで実行するようプログラムできる点です」とPinoの文書は述べている。「攻撃者はコードに時間トリガーを仕込み、あらかじめ決められた正確な時刻まで休眠させることができます。」

開示が機能しないとき

GoogleがPinoの報告に沈黙したことは、脆弱性開示における根強い緊張を浮き彫りにしている。Google自身のProject Zeroチームは、サードパーティ製ソフトウェアで発見した脆弱性に対し、業界標準である厳格な90日間の開示期限を設けている。

同社のChrome脆弱性報奨金プログラムの文書では、「迅速に対応し、合理的な期間内にバグを修正する」と約束している。ほとんどのセキュリティバグは、Chromiumに修正がコミットされてから14週間後に自動的に一般公開されると記載されている。

しかし、このタイムラインはベンダーが対応することを前提としている。Pinoは8月28日の報告に対する受理通知すら受け取っていない。彼の2か月の待機は90日基準には満たないが、ベンダーの沈黙に直面した場合、多くの研究者が妥当と考える期間を超えている。

開示を巡る議論は何年も続いている。かつてMicrosoftは、パッチが準備できる前にWindowsの脆弱性を公開したGoogleを批判し、「顧客を危険にさらす『揚げ足取り』だ」と述べた。しかし、ベンダーが対応しない場合、研究者には選択肢がほとんどない。

Pinoは別の複雑さも指摘している。「問題は見た目以上に深刻です。Chromiumを利用する各社が独自の機能をカスタマイズしているため、修正は各社ごとに独立して行う必要があると考えています」と文書で述べている。

Googleは2024年に少なくとも6件のChromeゼロデイ脆弱性に対処したと、同社のセキュリティアドバイザリが伝えている。しかし、Blinkのこの構造的欠陥については公的な言及がない。Chromiumプロジェクトの公開イシュートラッカーにも、10月30日時点でこの脆弱性に該当するエントリはなかった。

Microsoft、Brave、その他影響を受けるベンダーも、記事執筆時点でセキュリティアドバイザリを発行していなかった。

企業のセキュリティチームに残された限られた選択肢

CIOは難しい選択を迫られている。この脆弱性はBlinkのコアに影響するため、標準的なブラウザ強化策(コンテンツセキュリティポリシー、サイト分離、拡張機能制限)では防御できない。

Pinoの概念実証コードは、Creative CommonsおよびMITライセンスのもとでGitHub上に公開されたままだ。文書には、利用を教育目的および管理された環境でのセキュリティ研究に限定する旨の免責事項が含まれている。

彼はまた、訪問者のブラウザに対してエクスプロイトを実行するライブデモをbrash.runで公開した。コードには「中程度」の観察モードから「極端」な即時崩壊設定まで、強度を調整できるオプションが含まれていた。

文書では、ベンダーが脆弱性を修正すればエクスプロイトは機能しなくなると明記されている。しかし、Googleや他のブラウザメーカーからの対応時期が不明なため、企業のセキュリティチームは防御計画を立てたり、ブラウザベースのワークフローに依存する事業部門にリスクを伝えたりする手段がない。

この沈黙は重要な疑問を残している。適切に開示された脆弱性にベンダーが対応しない場合、研究者はどれだけ待ってから一般に警告すべきなのか?

翻訳元: https://www.csoonline.com/article/4081831/chromium-flaw-crashes-chrome-edge-atlas-researcher-publishes-exploit-after-googles-silence.html

ソース: csoonline.com