
CVE-2026-76036 用の差分検出ハーネス。Android 版 Chrome における Dawn WebGPU のヒープバッファオーバーフローです。脆弱な深度/ステンシルテクスチャの組み合わせをプローブし、GPU プロセスのクラッシュを監視して、ブラウザと GPU の曝露を分類します。
重大 (CVSS 9.6, CWE-122) のヒープバッファオーバーフローが Dawn (Chromium の WebGPU 実装) に存在し、151.0.7922.169 より前の Android 版 Google Chrome に影響します。 (stable 151、2026-08-18 リリース).
根本原因は、Dawn の修正コミット
178fb7048ad3 によると、
PowerVR プロプライエタリ Vulkan ドライバが、非2のべき乗 (NPOT) の
深度/ステンシルテクスチャのミップレベルサイズを誤計算します。
影響を受けるハードウェア上で、device.createTexture() に depth/stencil フォーマット、NPOT 寸法、
および mipLevelCount > 1 を指定して呼び出す Web ページは、GPU プロセスのヒープを破壊します。
NVD: 「リモートの攻撃者が、細工された HTML ページを介して
サンドボックス外で任意のコードを実行することを可能にする」.
正確なトリガーは、制限付き Chromium バグ 540087398 にあります。したがってこのリポジトリは、 エクスプロイトではなく 差分検出ハーネス を提供します。これは公開修正コミットで 指定された組み合わせを列挙し、ブラウザ+GPU を分類します。
| ファイル | 目的 |
|---|---|
poc.html | WebGPU プローブマトリクス — 5 種類すべての depth/stencil フォーマット × NPOT サイズ(Dawn の抑制された end2end テストの 259×127 形状を含む)× mip 数で、各組み合わせが独自の検証エラースコープに含まれます |
crash_monitor.py | adb コンパニオン — インストール済み Chrome のバージョンを 151.0.7922.169 の下限と照合し、GPU プロセスの致命的シグナルについて logcat を追跡します |
# 1) serve the harness (WebGPU needs a secure context: localhost or HTTPS)
$ python3 -m http.server 8000
# 2) on the device (or desktop Chrome), open:
# http://<your-host>:8000/poc.html (localhost/http works; remote hosts need HTTPS)
# 3) from a host with adb, watch the GPU process:
$ python3 crash_monitor.py
[*] com.android.chrome versionName=151.0.7922.83
[!] VULNERABLE — below the 151.0.7922.169 fix floor (CVE-2026-76036)
[*] logcat: live tail — Ctrl-C to stop. Load poc.html on the device now.
poc.html の解釈このハーネスは各プローブを (~150 ms) にスロットリングするため、ラボのデバイスは、 最初の不一致コピーでクラッシュする代わりに、判定結果を生成するまで十分に存続できます。
自分が所有または管理するデバイスとブラウザに対してのみ実行してください。パッチ未適用の 影響を受けるハードウェアでは、根本的なバグは実際のメモリ破壊トリガーです。このハーネスは、 その破壊を意図的に形作ろうとする試みを一切行いません。
| 観察結果 | 意味 |
|---|
| 検証エラーに "disallowed on this device due to a driver bug" が含まれる | 修正が有効 + GPU が影響を受ける PowerVR クラスに属する (パッチ適用前はデバイスに到達可能だった; バージョン 151.0.7922.169 以上を確認) |
| 組み合わせが受け入れられ、そのようなエラーが発生しない | 影響を受ける Imagination クラス外の GPU — この経路では到達不可能 |
スイープ中に device.lost が発生 / Chrome < 151.0.7922.169 の logcat に GPU プロセスの Fatal signal が記録される | この CVE が除去しようとしているパッチ適用前の動作 — 直ちに更新してください |
navigator.gpu が未定義 | WebGPU が利用不可 — 攻撃面は閉じている |