Chrome UAF Process Vulnerabilities Actively Exploited
2025/04/25 gbhackers — Google Chrome ブラウザ・プロセスに存在する、2つの深刻な解放後メモリ使用 (UAF) 脆弱性が実際に悪用され、サンドボックス・エスケープや任意のコード実行の危険が生じていることが、セキュリティ研究者たちにより明らかにされた。その一方で Google は、MiraclePtr 防御メカニズムを導入しており、これらの脆弱性の悪用の道が閉ざされるという、ブラウザ・セキュリティにおける重要なマイルストーンが達成された。

技術分析と脆弱性の詳細
SSD Labs の公式レポートによると、これらの脆弱性は Chrome のバージョン 133.0.6835.0 から 135.0.7016.0 に存在していた。
これらのバグは、特に同期サービス内において、生のポインタと WeakPtr にバインドされたコールバックの不適切な処理に起因するものだ。
“components/sync/service/sync_service_impl.cc” 内の、以下の例を参照してほしい。
void SyncServiceImpl::GetLocalDataDescriptions(... DataTypeSet types,
base::OnceCallback<void(std::map<DataType, LocalDataDescription>)> callback) {
base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE,
base::BindOnce(&SyncServiceImpl::GetLocalDataDescriptionsImpl,
weak_factory_.GetWeakPtr(), types, std::move(callback)));
}
この脆弱性は、バインドされたコールバックのインスタンスが、ポストされたタスクの実行中に破棄され、UAF 状態になった場合に発生する。
悪用の仕組み:
- それぞれのポインタは、割り当て時に、非表示の参照カウンタを増加させる。
- オブジェクトが不要になった場合だが、すべての参照がなくなった場合にのみ、メモリが実際に解放される。
- 解放されたポインタの使用を試みると、コード実行ではなく、意図的なクラッシュが発生する。
概念実証とエクスプロイトの試み
SSD Labs のデモが示すのは、特定の Chrome ページを開き、関連するウィンドウを素早く閉じると、脆弱なコードパスがトリガーされ、クラッシュやエクスプロイトにつながる可能性である。
しかし、MiraclePtr を有効化すると、これらの試みはクラッシュだけを引き起こし、セキュリティ侵害は発生しなかった。この、Chrome のプロアクティブな緩和策により、一連の UAF の脆弱性は迅速に発見され、封じ込められた。それが浮き彫りにするのは、ブラウザ・セキュリティにおいて進化していく軍拡競争である。
これらの脆弱性を技術的に捉えると、実際に悪用されていたという状態もあるが、現時点では Chrome の MiraclePtr により、この攻撃ベクターは遮断されている。
セキュリティ専門家が、すべての Chrome ユーザーに対して強く推奨するのは、同様の脅威から保護するために、ブラウザを最新の状態に保つことである。
MiraclePtr テクノロジーの継続的な展開と改善は、最も高度な攻撃が生じる場合であっても、広大な Chrome ユーザー・ベースを防御するという、Google の取り組みを強調するものだ。
新たに発見された Chrome の UAF (Use-After-Free) 脆弱性が、実際に悪用されていたにもかかわらず、Google のセキュリティ機構である MiraclePtr により遮断されたというはなしです。MiraclePtr は UAF を安全に制御するための仕組みであり、2022年から段階的に導入され、2024年1月には、その成果や展望について Google から公式な発表もありました。Chrome ユーザーとしては、本当に心強い限りです。よろしければ、Chrome で検索も、ご参照下さい。
You must be logged in to post a comment.