Brashとして知られる新たに発見されたエクスプロイトが、ChromiumのBlinkレンダリングエンジンに存在する重大なアーキテクチャ上の弱点を露呈させた。これにより攻撃者は、Google Chrome、Microsoft Edge、Opera、Braveなどのブラウザーを数秒以内にクラッシュさせられる。
この脆弱性は、セキュリティ研究者Jose Pino(Jofpin)によって公表されたもので、単一の悪意あるURLだけでシステム全体を応答不能にできる、現代のブラウザーアーキテクチャを揺るがす欠陥だ。
メモリーバグではなく、設計上の欠陥
Brashエクスプロイトは、ブラウザーのタブタイトルを制御するdocument.title APIにレート制限がないことを悪用する。
document.titleを毎秒数百万回という速度で更新すると、エクスプロイトはDocument Object Model(DOM)とブラウザーのユーザーインターフェース(UI)スレッドに過剰な負荷をかけ、クラッシュ状態に陥らせる。
この欠陥は権限昇格やメモリー破壊に依存しないため、再現は容易だが、ブラウザーのコアアーキテクチャを変更しなければ緩和は難しい。
Pino氏の調査によると、システムの性能や構成に応じて、Chromiumベースのブラウザーは15~60秒でクラッシュする可能性がある。
エクスプロイトの実行中はCPUリソースを大量に消費し、システムのパフォーマンスを低下させ、同時に実行中のプロセスを停止させる。
Brashがブラウザーに過剰な負荷をかける仕組み
Brashエクスプロイトは、システムの負荷を段階的に高めて障害に至らせる、主に3つの段階で動作する。
- ハッシュ生成フェーズ:攻撃者は、512文字の16進文字列を100個、メモリーに事前ロードする。これらはdocument titleの更新に使うシードとなり、エントロピーを最大化して計算上のボトルネックを減らす。
- バースト注入フェーズ:悪意あるスクリプトは、1ミリ秒ごとにdocument.titleを3回、立て続けに更新する。デフォルト設定では、毎秒およそ2,400万回の更新となる。
- UIスレッド飽和フェーズ:更新によってDOMに大量の処理が流れ込むと、ブラウザーのメインUIスレッドが飽和し、応答不能になった後、最終的に強制終了される。
この攻撃シーケンスは効率的なだけでなく、調整性も非常に高い。
エクスプロイトは時間トリガーを使って特定のタイミングで作動するよう設定できるため、攻撃者はあらかじめ決めた時刻に起動する「ロジックボム」を仕掛けられる。
脆弱性の影響範囲
Brashの脆弱性は、Chromiumフレームワーク上に構築されたすべてのブラウザーに影響する。これにはChrome、Edge、Opera、Vivaldi、Brave、Arc Browser、Dia Browser、Perplexity Comet、ChatGPT Atlasが含まれる。
テストでは、macOS、Windows、Linux上のブラウザーがエクスプロイトにさらされると、数秒以内にクラッシュすることが確認された。
Chromiumは大半のWebブラウザーを支えているため、その影響は大きく、数十億人のユーザーに及ぶ可能性がある。
以下の表は、研究者がテストした各ブラウザーのクラッシュ時間をまとめたものだ。
| ブラウザー | クラッシュ時間 |
|---|---|
| Chrome | 15~30秒 |
| Edge | 15~25秒 |
| Vivaldi | 15~30秒 |
| Arc Browser | 15~30秒 |
| Dia Browser | 15~30秒 |
| Opera | 約60秒 |
| Perplexity Comet | 15~35秒 |
| ChatGPT Atlas | 15~60秒 |
| Brave | 30~125秒 |
注目すべき点として、Mozilla Firefox(Gecko)やApple Safari(WebKit)など、Chromium以外のエンジンを使用するブラウザーは、この特定の攻撃から保護されている。
iOS上のすべてのブラウザーも影響を受けない。Appleが同プラットフォーム上のサードパーティーブラウザーにWebKitの使用を義務付けているためだ。
攻撃者がBrashを悪用する方法
Brashエクスプロイトの実行に必要なのはWebサイトへのアクセスだけだが、被害が及ぶ可能性はブラウザーのクラッシュをはるかに超える。
攻撃者は、フィッシングメールや悪意ある広告(マルバタイジング)、正確なタイミングで作動するソーシャルメディアのリンクにエクスプロイトを隠せる。
より標的を絞った用途では、Webスクレイピングやコンプライアンス検証に使われるAI駆動の自動化ツールやヘッドレスブラウザーのスクリプトに、Brashを組み込むことも可能だ。
修正プログラムが提供されるまで安全を保つ方法
研究者が情報を公開した時点で、Googleはまだ公式の回答を発表していなかった。
Pino氏は、Brashは従来型のソフトウェアバグではなく、重要なAPIにレートスロットリングを実装しなかった設計上の見落としだと強調した。
このエクスプロイトはセキュリティ上の欠陥ではなく、ブラウザーの通常の動作を悪用するため、従来型のウイルス対策ツールやサンドボックスは効果がない可能性がある。組織は次の対策を講じられる。
- 信頼できないサイトやリンクを避ける。特にメールやソーシャルメディアからのものには注意する。
- JavaScriptを無効化または制限する。NoScriptやuBlock Originなどの拡張機能も利用する。
- ブラウザーと拡張機能を最新の状態に保つ。最新のセキュリティパッチを適用する。
- ブラウザー分離または管理ツールを使用する。安全な構成を強制する。
- エンドポイントとネットワークを監視する。CPU使用率の急上昇、DOMの変更、悪意あるドメインを確認する。
- ユーザーを定期的に訓練し、フィッシングや不審なブラウザー活動を見分けられるようにする。
強固な技術的対策と十分な知識を持つユーザーを組み合わせることで、組織はブラウザーベースの脅威への露出を抑えられる。多層防御戦略により、個々の制御が回避された場合でも耐性を確保できる。
Brashエクスプロイトは、現代のブラウザーセキュリティーが直面する課題の拡大を浮き彫りにしている。Web技術の進化に伴い、正当なAPIさえも攻撃経路に変えられるのだ。
これは、ユーザーの行動やシステムの信頼性に関する基盤アーキテクチャの前提が、従来の防御では検知できない盲点を生み出し得ることを示している。

