Google Chrome の JavaScript エンジン「V8」に関するゼロデイ脆弱性 CVE-2025-5419 の概念実証(PoC)が公開され、既に実運用環境での悪用も報告されています。影響を受けるのは 137.0.7151.68 より前の Chrome(記事情報に基づく)で、細工したページを閲覧させるだけで V8 のメモリ破壊(ヒープ汚染)につながる可能性があります。
脆弱性の概要
V8 JavaScriptエンジンにおけるOut-of-Bounds Read/Writeに関する脆弱性で
2025年5月28日に、全ChromeプラットフォームのStableチャンネルに向けて設定変更により緩和策をリリース。
具体的な情報は開示されていませんが、Googleは本脆弱性について「実際に悪用されていることを確認している」としています。
なお、既にパッチはリリースされているので、Chromeを最新の状態にアップデートすれば対応できます。
何が問題か:最適化の別名解決(エイリアシング)不備
V8 の Store-Store Elimination は「観測されない冗長なストアを削る」最適化を行います。本件では動的なインデックス読み出し(例:arr[index])が「観測点」として正しく扱われず、同一要素への直前のストアが“不要”と誤認されるケースがありました。
PoC が参照する修正差分では、インデックス付きロードが現れたら、過去の固定オフセットへのストアを“観測済み”として扱うように見直されています。
これにより、arr[0] = 1; x = arr[index]; arr[0] = 2; のようなパターンで index === 0 と一致する読み出しが最適化で隠れないようになります。
公開 PoC の要点
公開リポジトリ(作者名:mistymntncop)の PoC は、V8 のテストシェル(d8)を対象に以下を段階的に実現します。実際の攻撃手順になり得る細部はセキュリティ上省略し、原理のみを要点化します。
-
未初期化読み出しの誘発:動的インデックス読み出しを“観測されない”状態にし、配列の初期化ストアを最適化で削除させます。
-
情報漏えいプリミティブ:未初期化領域からポインタやマップ値に相当するデータを引き出し、アドレス系情報を得ます。
-
フェイクオブジェクト化:取得した値を用いて偽のオブジェクト(配列等)を構築し、任意アドレス読書きへ拡張します。
PoCが公開されると、サイバー攻撃への悪用の可能性が上昇する為、情報システム部門は社内へのアップデート通知を実施する必要があります。








