Trusting GPU driver quirks, clear state, or layout math
ANGLE, Dawn, Skia, and WebRTC repeatedly trust a GPU driver to behave as the graphics spec promises, honor an advertised capability, or compute a texture layout correctly, and trust their own cached view of driver binding/clear state. When the driver diverges, or when a stale binding, missing dirty bit, or wrong stride/block/level arithmetic sneaks a size mismatch into a copy, upload, blit, or clear, the result is an out-of-bounds access or memory that is used before it is initialized. Fixes almost never patch the driver; they blocklist or identity-gate the buggy vendor, sidestep the reachable code path, or correct the host-side layout math.
Mechanism
Fix shape
CVEs in this pattern
6 components · WebGL, ANGLE, Dawn, GPU, WebRTC, Video| CVE | What | Component | Vendor | Severity | Month | |
|---|---|---|---|---|---|---|
| CVE-2026-84333 | UAF in Daw | Dawn | chrome | High | 2026-09 | 🔧 |
| CVE-2026-87430 | OOB in WebRTC | WebRTC | chrome | Low | 2026-09 | 🔧 |
| CVE-2026-87438 | OOB in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-87488 | UAF in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-87520 | UAF in Daw | Dawn | chrome | High | 2026-09 | 🔧 |
| CVE-2026-87576 | UninitializedMemory in GPU | GPU | chrome | Medium | 2026-09 | 🔧 |
| CVE-2026-91726 | OOB in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-93372 | OOB in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95281 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95284 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95318 | OOB in Video | Video | chrome | High | 2026-09 | 🔧 |
| CVE-2026-95322 | OOB in GPU | GPU | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95329 | OOB in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95349 | OOB in WebGL | WebGL | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95350 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-95357 | OOB in GPU | GPU | chrome | Critical | 2026-09 | 🔧 |
| CVE-2026-19157 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-08 | 🔧 |
| CVE-2026-76034 | OOB in WebGL | WebGL | chrome | Critical | 2026-08 | 🔧 |
| CVE-2026-76036 | OOB in Daw | Dawn | chrome | Critical | 2026-08 | 🔧 |
| CVE-2026-79282 | UAF in ANGLE | ANGLE | chrome | Critical | 2026-08 | 🔧 |
| CVE-2026-17726 | IntegerOverflow in WebGL | WebGL | chrome | High | 2026-07 | 🔧 |
| CVE-2026-17810 | UninitializedMemory in Daw | Dawn | chrome | Medium | 2026-07 | 🔧 |
| CVE-2026-10881 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-06 | 🔧 |
| CVE-2026-10883 | OOB in ANGLE | ANGLE | chrome | Critical | 2026-06 | 🔧 |
| CVE-2026-9122 | OOB in GPU | GPU | chrome | Medium | 2026-05 | 🔧 |
| CVE-2026-9876 | UAF in WebGL | WebGL | chrome | Critical | 2026-05 | 🔧 |
Hunt for siblings
Auditors and scanners should flag graphics call sites that consume a driver-reported limit or capability without a conservative clamp, cache updates that mutate a binding without a matching dirty bit, and pixel/stride math that omits block-compression or chroma-rounding cases; fuzzers should vary base level, NPOT/odd dimensions, and compressed formats.
Mitigations that would catch this class
- Maintain per-vendor/per-version driver blocklists and force safe fallback paths for known-buggy hardware rather than trusting advertised capabilities.
- Validate texture dimensions, mip-level extents, and buffer strides on the host against conservative known-safe bounds before handing them to the driver.
- Keep cache/dirty-bit bookkeeping authoritative so every internal binding or state change is reflected before the next sync/transfer.