
Strukturiertes Schwachstellenforschungs-Repo für einen Chrome Dawn WebGPU CWE-20-Fehler: Grundursache, Patch-Diff, statische Verifikation, Schweregradbewertung und Sicherheitslektionen.
Dies ist das Repository des Arbeitsprojekts. Recherche, Analyse, Arbeit und Berichte werden in einem Repo abgedeckt (D088/D091).
Dieses Dokument ist das Einstiegsdokument für Repo und Board. Die vollständige Konvention für Ordner und Artefakte finden Sie in
docs/conventions.md. Der Fließtext (Status, Schlussfolgerungen, Links) wird aktualisiert, wenn der Bericht (report)-Eintrag befördert wird. Recherche-, Analyse- und Arbeitsagenten ändern die Root-README nicht.
Kurzfassung: Die WebGPU-Implementierung Dawn von Google Chrome prüfte bei der Erstellung von YCbCr-Samplern nicht die von der Vulkan-Spezifikation geforderten Parameterbeschränkungen. Dadurch konnte ein Angreifer, der den Renderer-Prozess bereits kompromittiert hatte, spezifikationswidrige Werte bis in den GPU-Prozess schleusen (CWE-20). Der Fix erfolgte in zwei Ebenen – zusätzliche Validierung und Backend-Erzwingung – und ist in Chrome 150.0.7871.47 enthalten.
Ausführliche Lerndokumente finden Sie unter docs/cve-2026-13934/ – Ursache, Fix, Nachweis und Lehren sind so aufbereitet, dass man ihnen ohne Reproduktion folgen kann.
Ziel: CVE-2026-13934 — Google Chrome / Dawn (WebGPU-Implementierung), Schwachstellentyp CWE-20
(Improper Input Validation). CVE-Veröffentlichung 2026-06-30, Fix-Version 150.0.7871.47.
Nachweis: research/20260804-cve-2026-13934-6bacf7/sources.md §1·§2.
Vorgehen — Die Arbeit erfolgte in vier Linien: Recherche (öffentliche Informationen) · Recherche (Patch/Diff) · Analyse (Reproduktion/Nachweis) · Bericht (Lernaufbereitung); alle vier Linien wurden abgeschlossen.
| Linie | Status | Erzieltes |
|---|---|---|
Recherche zu öffentlichen Informationen und Auswirkungsbereich (research/…-6bacf7/) | Abgeschlossen (4 Dokumente) | CVE-/NVD-/Anbieterhinweis-Metadaten, CWE/CVSS, Grenzen betroffener Versionen, Kriterien-Bewertung |
Patch-/Diff-Vergleich (research/…-diff-92f928/) | Abgeschlossen (4 Dokumente) | Fix-Commit identifiziert, dreistufige Vergleichsbasis, Datei-/Logik-Delta, Bewertung von Umgehung/Restrisiko |
Reproduktion/Nachweis (cases/…-4d10a8/) | Abgeschlossen (6 Dokumente) — statischer Vergleich durchgeführt, Ausführungsebene nicht beobachtet | Ursachenstruktur, Ausführbarkeit und Einschränkungen, Beobachtungswerte des statischen Vergleichs zweier Revisionen |
Lernbericht (reports/…-8400bc/) | Abgeschlossen (4 Dokumente) | Inhaltsverzeichnis/Zitierlandkarte, Entwurf der Root-README, Dokumentliste von docs/ |
Bestätigt
150.0.7871.47 und Fix-Commit (Dawn 43055cbe…), drei geänderte Dateien und die Gründe für die Änderungen.cases/20260804-cve-2026-13934-4d10a8/report.md §3).Noch nicht bestätigt (nicht durch Vermutungen aufgefüllt)
VkSampler-Parameter und die VUID-Meldungen der Vulkan-Validierungsschicht sind erwartete Werte auf Basis der Code-Grundlage (cases/…-4d10a8/report.md §4).150.0.7871.46, .47 und .63 frieren alle dieselbe Dawn-Revision ein, während die CVE „prior to .47" angibt. Die Grundlage dieser Angabe konnte nicht bestätigt werden.src-Seite gibt, wurde nicht vollständig untersucht.513006636, das die Ursache enthält, ist zugriffsbeschränkt.Schweregrad — je nach Quelle unterschiedlich. Die eigene Einstufung des Anbieters (Chromium) ist Medium, der CVSS-v3.1-Score von CISA-ADP
ist 9.6 CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H), und es gibt keine eigene NVD-Bewertung.
Wir entscheiden nicht, welche Seite richtig ist, sondern führen beide parallel auf — die Interpretation finden Sie
in docs/cve-2026-13934/overview.md.
Dieses Repository enthält keine bereitgestellten Dienste (API, Backend, Datenbanken usw.). Alle Artefakte sind Dokumente.
Die Vulkan-Spezifikation verlangt für Sampler mit YCbCr-Konvertierung, dass der Adressmodus aller Achsen CLAMP_TO_EDGE ist und die anisotrope Filterung (Anisotropie) deaktiviert ist
(VUID-VkSamplerCreateInfo-addressModeU-01646). Vor dem Patch prüfte Dawn diese Einschränkung nicht,
sodass spezifikationswidrige Parameter die Validierung passieren und bis zur Erstellung eines VkSampler gelangen konnten.
Entscheidend ist das Bedrohungsmodell. Die öffentliche Beschreibung geht davon aus, dass der Angreifer den Renderer-Prozess bereits kompromittiert hat („a remote attacker who had compromised the renderer process"). Von dieser Position aus kann er nicht den normalen Web-API-Pfad, sondern direkt die Interprozess-Befehle manipulieren; die Validierung auf Renderer-Seite liegt damit außerhalb der Vertrauensgrenze. Und das Vulkan-Backend von Dawn läuft in einem privilegierteren GPU-Prozess als der Renderer — genau dadurch wird dieser Fehler zu einer Angriffsfläche für Sandbox-Escapes.
Nachweis: cases/20260804-cve-2026-13934-4d10a8/root_cause.md §2 ·
Details: docs/cve-2026-13934/root-cause-and-fix.md
Der Fix-Commit ist Dawn 43055cbeadddca41a9c973a809f859d641077b2f
(„Add YCbCr sampler validation", 2026-05-27, Bug: 513006636) und ändert drei Dateien.
| Änderung | Datei | Art |
|---|---|---|
4 Prüfungen für Adressmodus und maxAnisotropy auf YCbCr-Deskriptoren hinzugefügt | src/dawn/native/Sampler.cpp | Frontend-Validierung — lehnt regelwidrige Anfragen ab |
| Adressmodus und Anisotropie im Pfad mit YCbCr-Konvertierung auf spezifikationskonforme Werte überschrieben | src/dawn/native/vulkan/SamplerVk.cpp | Backend-Erzwingung — erzeugt unabhängig von der Eingabe keinen regelwidrigen Zustand |
Regressionstest YCbCrSamplerRequiredParams hinzugefügt | src/dawn/tests/unittests/validation/YCbCrValidationTests.cpp | verhindert Wiederauftreten |