1.脆弱性の概要
CVE-2025-5419は、2025年5月27日にGoogle Threat Analytics Teamによって発見された、Chrome V8 JavaScriptエンジンにおける高リスクの境界外読み取り/書き込みの脆弱性です。この脆弱性は、V8 TurboFan コンパイラがストアストア除去の最適化を実行する際に、動的なインデックス読み込みを誤って処理することに起因しており、これによりエイリアス関係の分類が誤って行われ、重要なストア操作が誤って除去され、その結果、境界外メモリアクセスが発生します。
攻撃者は、特別に細工されたHTMLページを構築してユーザーを誘導し、悪意のあるJavaScriptコードの実行を誘発し、脆弱性を悪用してリモートでのコード実行とサンドボックスからの脱出を実現し、最終的に被害者のデバイスを完全に制御することができる。
この脆弱性は、Chrome、Edge、Opera、Brave、Vivaldiを含むすべてのChromiumベースのブラウザに影響し、野生で悪用されている。Googleは修正プログラムをリリースし、ユーザーは直ちにChrome 137.0.7151.68/.69以降にアップデートすることを推奨している。
2.影響評価
影響を受けるプラットフォーム
ウィンドウズグーグル・クロームブラウザ
macOSのGoogle Chrome
Linuxシステム上のGoogle Chrome
影響を受けるブラウザ
グーグル・クローム
マイクロソフト・エッジ
オペラ
勇敢
ヴィヴァルディ
Chromiumエンジンベースの他のブラウザ
影響を受けるバージョン:
Google Chrome(Windows/Mac)バージョン137.0.7151.68/.69以下
バージョン137.0.7151.68未満のGoogle Chrome(Linux)
セキュリティリスク:
リモートコード実行(RCE): 攻撃者はユーザーデバイスを完全に制御できる。
機密情報の漏洩:システムメモリ内の機密データを読み取ることができる。
サンドボックス・エスケープ:ブラウザのサンドボックス保護メカニズムを回避する。
データ改ざん:システムメモリ内の重要なデータを改ざんする可能性がある。
利用アプローチ:
特別に細工された HTML ページによって誘発される脆弱性
ユーザーによる操作が必要(悪意のあるウェブページへのアクセス)
野生での利用が確認されている
3.技術原理の分析
V8 TurboFanコンパイラの概要
V8エンジン用TurboFanは、IRベースのアルゴリズムを使用した高性能最適化コンパイラです。主な特徴は以下の通り:
- ノードの海」表現の使用
- 店舗削除などの最適化の実行
- 型推論とインライン・キャッシュの使用
ストレージ-ストレージ消去の最適化メカニズム:
TurboFanは、EscapeAnalysisPhaseアルゴリズムでストレージとストレージの消去最適化を可能にします:
- オブジェクトのエスケープ状態を追跡するVirtualObjectの作成
- エスケープされていないStoreFieldノードを削除可能としてマークする
- 再訪問メカニズムによる依存関係ノードの再分析
- 最終的には冗長なストレージ操作をデッドノードに置き換える
脆弱性誘発メカニズム
この脆弱性は、TurboFanの動的インデックス読み込みの不適切な処理に起因する:
- ストレージ消去を行う際の正しいエイリアス解析への依存
- TurboFan、動的インデックス読み込みシナリオでストレージ操作のエイリアシング関係を見誤る
- 排除すべきでない重要な保管業務にタグを付ける原因
- 重要な保管作業がエラーによって排除される
- 後続のメモリアクセスが範囲外になる。
メモリ破壊と任意のコード実行:
- 境界外アクセスによるヒープメモリ破壊
- メモリレイアウトを制御する読み出しと書き込み操作
- サンドボックスからの脱出を達成するために、ROPチェイニングなどのテクニックを組み合わせる。
- 最終的な任意のコード実行
4.脆弱性の悪用条件
慎重に構築されたJavaScriptコード
攻撃者は、TurboFanが欠陥のある最適化パスを実行するきっかけとなる特定の配列操作を構築する必要がある。
ユーザー相互作用
悪意のあるJavaScriptを含む、特別に細工されたHTMLページを閲覧させる。
脆弱なブラウザのバージョン
対象システムでは、バージョン137.0.7151.68/.69以下のChromiumブラウザが動作している必要があります。
5.脆弱性POC/EXP。
元記事はChief Security Officerによるものです。転載される場合は、https://cncso.com/jp/cve-2025-5419-chrome-v8-javascript-engine-out-of-bounds-oob-read-write-vulnerability。-html