
CVE-2026-5281 (Chrome Dawn WebGPU UAF) Analyse, Laborvalidierungstools und reproduzierbare Umgebung für verwundbare vs. gepatchte Builds.
Diese Sicherheitslücke hat einen unserer Kunden betroffen, dem wir Dienstleistungen anbieten. Dieses Repository ist unser Beitrag zur ursprünglichen Forschung: ein zentraler Ausgangspunkt für das Team, sodass wir, falls eine ähnliche Schwachstelle in dieser Komponente erneut auftritt, bereits die Grundlage gelegt haben. Es vereint die Theorie hinter dem Fehler, eine dokumentierte Zusammenfassung der Ergebnisse des ursprünglichen Forschers und eine Reihe praktischer Werkzeuge, um die Gefährdung in einer Laborumgebung zu überprüfen.
Hinweis: Ich hätte gerne mehr dieser Forschung geteilt, aber aufgrund von Unternehmensbeschränkungen kann ich keine weiteren Details offenlegen. Alles hier Enthaltene wurde überprüft und verstößt nicht gegen irgendwelche Vereinbarungen, denen ich unterliege. Das Repository wird daher in seinem aktuellen Zustand archiviert.
Am 1. April 2026 veröffentlichte Google ein Chrome-Sicherheitsupdate, das 21 Schwachstellen behob, von denen eine, CVE-2026-5281, zum Zeitpunkt der Offenlegung bereits aktiv im Internet ausgenutzt wurde. Drei Tage später fügte CISA sie dem Katalog bekannter ausgenutzter Schwachstellen hinzu und erließ eine verbindliche operative Anweisung, die Bundesbehörden zum Patchen verpflichtete. Zu diesem Zeitpunkt hatte sie uns bereits getroffen.
Dieses Repository existiert aus einem Grund: damit wir beim nächsten Mal, wenn so etwas passiert, einen Ausgangspunkt haben, anstatt bei Null anfangen zu müssen. Es vereint:
Wenn Sie verstehen wollen, warum eine Sicherheitslücke existiert, beginnen Sie damit, wofür das System entwickelt wurde und welche Annahmen ihm zugrunde liegen.
WebGPU stellt eine API für die Durchführung von Operationen wie Rendering und Berechnung auf einer Grafikverarbeitungseinheit bereit. WebGPU ist kein Versuch, OpenGL oder OpenGL ES (Embedded Systems) bereitzustellen. Es ist eine neue API, die auf den Ideen moderner APIs wie Direct3D 12, Metal und Vulkan aufbaut.
WebGPU ist der moderne Ersatz für WebGL, die alte GPU-API, die Browser seit Jahren verwenden. Der Hauptunterschied besteht darin, dass WebGPU von Grund auf für Sicherheit und explizite Ressourcenverwaltung ausgelegt wurde. Sie deklarieren den Lebenszyklus jedes Puffers, jeder Textur und jeder Pipeline selbst. Der Browser fungiert als Validierungsschicht zwischen Ihrem JavaScript und der GPU-Hardware.
Die Objekte im Zentrum dieser Sicherheitslücke, in der Reihenfolge ihrer Erstellung:``` GPUAdapter ← represents a physical GPU or software fallback └─ GPUDevice ← your logical connection to the adapter; owns everything ├─ GPUBuffer ← a chunk of GPU-accessible memory ├─ GPUShaderModule ← a compiled WGSL shader program ├─ GPUComputePipeline ← a shader wired to a pipeline layout ├─ GPUBindGroup ← binds buffers as inputs to a pipeline ├─ GPUCommandEncoder ← records a sequence of GPU commands └─ GPUQueue ← submits recorded commands to hardware
Die Regel, die hier zählt: Jedes Objekt gehört dem GPUDevice. Das Zerstören eines Puffers, während das Gerät noch Befehle ausführt, die darauf verweisen, ist laut Spezifikation ausdrücklich illegal. Die Dawn-Implementierung soll dies erkennen und ablehnen. CVE-2026-5281 ist ein Fall, in dem sie es nicht tat.
---
---
---
<div id='whatisdawn'/>
## ***⚙️ Was ist Dawn?***
- **[Dawn - Open-Source WebGPU Implementation](https://dawn.googlesource.com/dawn)**
> Dawn ist eine quelloffene und plattformübergreifende Implementierung des in Arbeit befindlichen WebGPU-Standards. Sie stellt eine native C++-API bereit, die das WebGPU-IDL mit einigen Erweiterungen abbildet.
Dawn ist die C++-Bibliothek in Chrome, die WebGPU-JavaScript-Aufrufe in plattformnative GPU-Befehle übersetzt. Unter Windows zielt sie auf D3D12, unter macOS auf Metal und unter Linux auf Vulkan. Sie sitzt zwischen der JavaScript-Engine von Chrome und dem Hardwaretreiber und ist für vier Dinge zuständig: Validieren von API-Aufrufen, Serialisieren von Befehlen, Verfolgen von Objektlebensdauern und Melden von Fehlern zurück an JavaScript.
CVE-2026-5281 befindet sich im Teil der Lebensdauerverfolgung. Genauer gesagt darin, wie lange Dawn GPU-Pufferobjekte am Leben hält, während Befehle, die auf sie verweisen, noch auf der Hardware-Warteschlange auf ihre Ausführung warten.```
JavaScript (V8)
│ WebGPU API calls
▼
Dawn (C++) - validates, serializes, tracks lifetimes, reports errors
│
▼
D3D12 (Windows) - Metal (macOS) - Vulkan (Linux)
│
▼
GPU hardware driver
│
▼
Physical GPU - shader cores, VRAM