
Differential-Erkennungs-Harness für CVE-2026-76036, einen Dawn-WebGPU-Heap-Pufferüberlauf in Chrome auf Android. Untersucht anfällige Depth/Stencil-Texturkombinationen und überwacht Abstürze des GPU-Prozesses, um die Gefährdung von Browser und GPU zu klassifizieren.
Kritischer (CVSS 9.6, CWE-122) Heap-Pufferüberlauf in Dawn, Chromiums WebGPU-Implementierung, in Google Chrome unter Android vor 151.0.7922.169 (Stable 151, veröffentlicht am 18.08.2026).
Grundursache laut Dawn-Fix-Commit 178fb7048ad3: Der proprietäre PowerVR-Vulkan-Treiber berechnet Mip-Ebenen-Größen für NPOT-Tiefen-/Stencil-Texturen (Nicht-Zweierpotenz) falsch. Eine Webseite, die auf betroffener Hardware device.createTexture() mit einem Tiefen-/Stencil-Format, NPOT-Abmessungen und mipLevelCount > 1 aufruft, korrumpiert den Heap des GPU-Prozesses. NVD: "erlaubte es einem entfernten Angreifer, über eine präparierte HTML-Seite beliebigen Code außerhalb der Sandbox auszuführen".
Der genaue Auslöser liegt in einem nicht öffentlich zugänglichen Chromium-Bug 540087398. Dieses Repository enthält daher einen differentiellen Erkennungs-Harness, keinen Exploit: Er enumeriert die im öffentlichen Fix-Commit benannte Kombination und klassifiziert Ihre Browser+GPU-Kombination.
| Datei | Zweck |
|---|---|
poc.html | WebGPU-Sondenmatrix — alle fünf Tiefen-/Stencil-Formate × NPOT-Größen (inkl. der 259×127-Form aus Dawns unterdrücktem End2End-Test) × Mip-Anzahlen, jeweils in einem eigenen Validierungsfehler-Scope |
crash_monitor.py | adb-Begleitprogramm — vergleicht die installierte Chrome-Version mit der Untergrenze 151.0.7922.169 und überwacht logcat auf fatale Signale des GPU-Prozesses |
# 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.htmlDer Harness drosselt jede Sonde (~150 ms), sodass ein Laborgerät lange genug überlebt, um ein Urteil zu fällen, anstatt bei der ersten abweichenden Sonde abzustürzen.
Führen Sie den Harness nur gegen Geräte und Browser aus, die Ihnen gehören oder die Sie verwalten. Auf ungepatchter, betroffener Hardware ist der zugrunde liegende Fehler ein echter Auslöser für Speicherkorruption; der Harness unternimmt bewusst keinen Versuch, diese Korruption auszuformen.
| Beobachtung | Bedeutung |
|---|
| Validierungsfehler mit "disallowed on this device due to a driver bug" | Fix aktiv + GPU gehört zur betroffenen PowerVR-Klasse (Gerät war vor dem Patch erreichbar; Version ≥ 151.0.7922.169 bestätigen) |
| Kombinationen akzeptiert, kein solcher Fehler | GPU außerhalb der betroffenen Imagination-Klasse — über diesen Pfad nicht erreichbar |
device.lost feuert mitten im Durchlauf / GPU-Prozess Fatal signal in logcat bei Chrome < 151.0.7922.169 | Verhalten vor dem Patch, das diese CVE beseitigen soll — sofort aktualisieren |
navigator.gpu undefiniert | WebGPU nicht verfügbar — Angriffsfläche geschlossen |