Google、未修正のChromiumバグのエクスプロイトコードを公開
Googleは、未修正のまま残っているChromiumエンジン内の脆弱性に対するエクスプロイトコードを公開するという異例の手段を取った。この動きは、未パッチのバグに対して機能するエクスプロイトコードを公開することで、パッチが配布される前に悪意ある攻撃者による広範な悪用リスクが高まるため、セキュリティコミュニティで大きな議論を呼んでいる。
脆弱性の理解
問題となっているバグは、Chromiumブラウザ内のサービスワーカーの動作に関係している。サービスワーカーは、ウェブページとは別にバックグラウンドで実行されるスクリプトで、プッシュ通知やオフライン機能などを実現する。通常、これらのワーカーはライフサイクルが定義されており、リソース節約のためにブラウザによって終了される。
しかし、この特定の脆弱性により、サービスワーカーが無期限に永続化できてしまう。非常に大きなファイルのダウンロードを開始し、ダウンロードが完了しないようにすることで、サービスワーカーは実質的にブラウザを「騙し」、プロセスを永遠に生存させ続けることができる。
潜在的なセキュリティへの影響
この脆弱性は直ちにリモートコード実行(RCE)やシステム全体の侵害を可能にするわけではないが、影響は無視できない。主なリスクは、悪意あるサイトがユーザーのマシン上に永続的に存在し続けられる点にある。
リソースの乱用と追跡
永続的なサービスワーカーは、いくつかの悪意ある目的に利用できる:
- Cryptojacking: ワーカーはユーザーに知られずにバックグラウンドで暗号通貨をマイニングするために利用できる。
- Botnet Integration: ブラウザは分散型サービス拒否(DDoS)攻撃やその他の協調ボットネット活動のノードとして利用され得る。
- User Tracking: 長期的な接続を維持することで、攻撃者はユーザーのIPアドレス活動を長期間にわたって追跡できる可能性がある。
ネットワークアクセスとCORSの制限
サービスワーカーがネットワークリクエストを行える能力は、Cross-Origin Resource Sharing(CORS)ポリシーによって制限される。コミュニティの分析によれば、ワーカーはリクエストを行えるが、CORSを必要としないものに限られる。このため、攻撃者が他の安全なウェブサイトから機密データを盗む能力は制限されるが、リスクが完全に排除されるわけではない。
"CORSなしでしかリクエストできませんが、企業のVPN内や類似の場所にあるセキュリティが弱いHTTPリソースにアクセスするのに役立つ可能性があります…"
つまり、企業のイントラネットやVPNの背後にあるような、内部のセキュリティが弱いHTTPリソースが、永続的なサービスワーカーによる探索やデータ流出の対象となり得るということだ。
公開開示の論争
未修正のバグに対してエクスプロイトコードを公開する決定は、標準的な責任ある開示手順から逸脱している。通常、ベンダーはパッチが利用可能になるまで、エクスプロイト作成に利用できる技術的詳細の公開を控える。今回コードを公開したことで、Googleは実質的に攻撃者に対し、Chrome、Edge、BraveなどのChromiumベースのブラウザ数百万台を対象に、修正が実装される前に攻撃するための設計図を提供したことになる。