Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cve-2026-13934 — Dépôt structuré de recherche de vulnérabilités pour un défaut CWE-20 de Chrome Dawn WebGPU : cause racine, diff du correctif, vérification statique, évaluation de la sévérité et leçons de sécurité. | Kitploit
Outils/GitHubGitHub/artwiderobo/cve-2026-13934
Analyse des VulnérabilitésAnalyse de CodeExploitationSécurité WebArticles et RechercheApprentissage et Éducation
GitHubartwiderobo/cve-2026-13934

cve-2026-13934

Dépôt structuré de recherche de vulnérabilités pour un défaut CWE-20 de Chrome Dawn WebGPU : cause racine, diff du correctif, vérification statique, évaluation de la sévérité et leçons de sécurité.

Voir le dépôt
7il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-13934

Dépôt du projet de travail. Il couvre l'investigation, l'analyse, le travail et les rapports dans un seul dépôt (D088/D091).

Ce fichier est le document d'entrée du dépôt/tableau. Pour l'intégralité des conventions de dossiers et de livrables, voir docs/conventions.md. Le corps du texte (état, conclusions, liens) est mis à jour lors de la promotion de l'élément rapport. Les agents d'investigation, d'analyse et de travail ne modifient pas le README racine.

Résumé en une phrase : l'implémentation WebGPU de Google Chrome, Dawn, ne vérifiait pas les contraintes de paramètres exigées par la spécification Vulkan lors de la création de samplers YCbCr, ce qui permettait à un attaquant ayant déjà compromis le processus de rendu de faire transiter des valeurs non conformes à la spécification jusqu'au processus GPU (CWE-20). Le correctif ajoute une validation et un forçage backend en deux couches, et a été intégré dans Chrome 150.0.7871.47.

Les documents d'apprentissage détaillés se trouvent dans docs/cve-2026-13934/ — rédigés pour permettre de suivre la cause, le correctif, la démonstration et les enseignements sans reproduction.

État

Cible : CVE-2026-13934 — Google Chrome / Dawn (implémentation WebGPU), type de vulnérabilité (Improper Input Validation). CVE publiée le 2026-06-30, version corrigée . Base : §1·§2.

CWE-20
150.0.7871.47
research/20260804-cve-2026-13934-6bacf7/sources.md

Avancement — mené sur quatre lignes : investigation (informations publiques) · investigation (patch/diff) · analyse (reproduction/démonstration) · rapport (synthèse d'apprentissage). Les quatre lignes sont terminées.

LigneStatutCe qui a été obtenu
Investigation des informations publiques et du périmètre d'impact (research/…-6bacf7/)Terminée (4 documents)Métadonnées CVE·NVD·avis du fournisseur, CWE·CVSS, bornes des versions affectées, verdicts selon les critères de jugement
Comparaison patch/diff (research/…-diff-92f928/)Terminée (4 documents)Commit de correctif identifié, base de comparaison à 3 niveaux, delta des fichiers modifiés et de la logique, verdicts de contournement et de risque résiduel
Reproduction/démonstration (cases/…-4d10a8/)Terminée (6 documents) — comparaison statique effectuée, niveau d'exécution non observéStructure de la cause, exploitabilité et contraintes, observations de la comparaison statique des deux révisions
Rapport d'apprentissage (reports/…-8400bc/)Terminé (4 documents)Sommaire·carte des citations, brouillon du README racine, liste des documents docs/

Ce qui a été confirmé

  • Identifiant et statut CVE (publique), CNA (Chrome/Google), produit affecté (Google Chrome), composant affecté (Dawn).
  • Version corrigée 150.0.7871.47 et commit de correctif (Dawn 43055cbe…), 3 fichiers modifiés et raisons des modifications.
  • La révision vulnérable ne comporte aucune validation des contraintes de la spécification, ni forçage, ni test de régression ; la révision corrigée les comporte tous — confirmé par comparaison statique des deux instantanés Dawn réellement épinglés par Chrome (cases/20260804-cve-2026-13934-4d10a8/report.md §3).

Non encore confirmé (non comblé par des suppositions)

  • Aucune observation au niveau de l'exécution — les deux révisions n'ont pas été compilées pour exécuter les tests unitaires. La sortie réelle des messages d'erreur de validation, les paramètres VkSampler générés et les rapports VUID de la couche de validation Vulkan sont des valeurs attendues fondées sur des preuves tirées du code (cases/…-4d10a8/report.md §4).
  • Plateformes affectées — la description de la CVE indique « on Android », mais l'avis du fournisseur qui porte cette CVE est un avis du canal desktop. La validité du même chemin sur desktop n'a pas été vérifiée.
  • Bornes des versions affectées — les tags Chromium 150.0.7871.46·.47·.63 épinglent tous la même révision Dawn, mais la CVE indique « prior to .47 ». La justification de cette notation n'a pas pu être confirmée.
  • Complétude du correctif — un seul commit côté Dawn référençait ce bug, mais la présence de modifications d'accompagnement côté Chromium src n'a pas fait l'objet d'une enquête exhaustive.
  • Analyse interne du fournisseur — l'issue Chromium 513006636 contenant la cause est en accès restreint.

Sévérité — varie selon les sources. La note propre du fournisseur (Chromium) est Medium, le CVSS v3.1 de CISA-ADP est 9.6 CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H) et il n'existe aucune évaluation propre de NVD. Les deux sont présentées sans trancher laquelle est correcte — l'interprétation se trouve dans docs/cve-2026-13934/overview.md.

Ce dépôt ne contient aucun service déployé (API, backend, base de données, etc.). Tous les livrables sont des documents.

Conclusions principales

1. Cause — le prérequis exigé par la spécification n'était pas vérifié

La spécification Vulkan exige que les samplers avec conversion YCbCr aient le mode d'adresse de tous les axes défini sur CLAMP_TO_EDGE et le filtrage anisotrope (anisotropy) désactivé (VUID-VkSamplerCreateInfo-addressModeU-01646). Avant le patch, Dawn ne vérifiait pas cette contrainte, de sorte que des paramètres non conformes à la spécification pouvaient passer la validation et atteindre la création de VkSampler.

Le point décisif est le modèle de menace. La description publique suppose un attaquant ayant déjà compromis le processus de rendu (« a remote attacker who had compromised the renderer process »). Depuis cette position, on peut manipuler directement les commandes inter-processus plutôt que les chemins d'API web normaux ; la validation côté rendu est donc hors de la frontière de confiance. Et le backend Vulkan de Dawn s'exécute dans le processus GPU, plus privilégié que le rendu — c'est pourquoi cette faille constitue une surface d'évasion de la sandbox.

Base : cases/20260804-cve-2026-13934-4d10a8/root_cause.md §2 · Détails : docs/cve-2026-13934/root-cause-and-fix.md

2. Correctif — ne s'est pas arrêté à une seule couche de validation

Le commit de correctif est Dawn 43055cbeadddca41a9c973a809f859d641077b2f (« Add YCbCr sampler validation », 2026-05-27, Bug: 513006636) et modifie trois fichiers.

ModificationFichierNature
Ajout de 4 vérifications du mode d'adresse et de maxAnisotropy sur le descripteur YCbCrsrc/dawn/native/Sampler.cppValidation frontend — rejette les requêtes non conformes
Écrasement du mode d'adresse et de l'anisotropie par des valeurs conformes à la spécification sur les chemins avec conversion YCbCrsrc/dawn/native/vulkan/SamplerVk.cppForçage backend — ne crée jamais d'état non conforme quel que soit l'entrée
Ajout du test de régression YCbCrSamplerRequiredParamssrc/dawn/tests/unittests/validation/YCbCrValidationTests.cppPrévention de la récurrence

Cette structure est le cœur de cette CVE. Puisqu'on suppose le rendu déjà compromis, la validation seule ne suffit pas ; la deuxième couche, qui force les valeurs du côté le plus privilégié, constitue la véritable ligne de blocage. Résumer cela par « la validation d'entrée manquait, on a donc ajouté la validation » manque l'essentiel de la conception défensive.

L'ampleur des modifications est de 53 lignes ajoutées, 0 ligne supprimée — un patch qui comble les vérifications manquantes sans modifier la logique existante.

Base : research/20260804-cve-2026-13934-diff-92f928/report.md §3·§4 · cases/20260804-cve-2026-13934-4d10a8/patch_diff.md §4

3. Démonstration — confirmée jusqu'au niveau statique

Le code source des deux instantanés Dawn réellement épinglés par Chrome a été comparé.

Élément observéCôté vulnérable 54b4153c…Côté corrigé 01249a97…Niveau de vérification
Nombre de DAWN_INVALID_IF dans le bloc de validation YCbCr2 (feature gate + format non défini)6Mesuré
Forçage des valeurs conformes à la spécification dans le backend VulkanAucun (y compris la chaîne pNext)PrésentMesuré
Test de régression YCbCrSamplerRequiredParamsAbsent (TEST_F 23)Présent (24)Mesuré
Erreur de device sur requête non conformeNe se produit pasSe produitAttendu (fondé sur le code)

Ce qui ressort ici : le côté vulnérable possédait déjà une branche YCbCr et 2 vérifications. La faille n'était pas un chemin manquant, mais l'absence de vérifications de contraintes conditionnelles dans la branche.

Aucune compilation ni exécution n'ayant été effectuée, les deux éléments ci-dessous sont des valeurs attendues fondées sur le code, et non des mesures.

Base : cases/20260804-cve-2026-13934-4d10a8/report.md §1~§4 · Détails : docs/cve-2026-13934/evidence.md

4. Enseignements

Du point de vue de la conception de sécurité

  • Les valeurs qui franchissent une frontière de confiance doivent être retraitées du côté qui les reçoit. La validation côté client/rendu sert au confort et au diagnostic ; à l'intérieur de la frontière de privilèges, les valeurs doivent être validées ou forcées.
  • Un « prérequis exigé par la spécification » n'est pas respecté s'il n'est pas imposé dans le code. Les contraintes conditionnelles doivent être traitées dans la branche où la condition est vérifiée ; dans ce cas, la branche existait et seules les vérifications manquaient.
  • Le rejet (reject) et la correction (clamp) ont des rôles différents. Ce patch rejette sur les chemins normaux et applique une correction aux valeurs provenant de l'extérieur de la frontière de confiance.
  • Ne pas juger sur une seule note de sévérité. La même vulnérabilité porte à la fois la note Medium du fournisseur et un CVSS 9.6 CRITICAL. C'est en lisant ensemble le prérequis (compromission préalable du rendu) qu'on voit le risque réel.
  • Ne pas inverser le sens des signaux de détection. Les messages d'erreur de validation n'apparaissent qu'après le patch. Le raisonnement « aucune de ces erreurs dans les logs, donc nous sommes en sécurité » est à l'envers.

Du point de vue de la méthode d'investigation

  • On peut retracer le correctif même sans patch dans les liens de référence de la CVE. Le commit de correctif a été trouvé en suivant : numéro de bug dans l'avis du fournisseur → tags de comparaison des versions → révision du composant dans DEPS → recherche du numéro de bug dans le journal des commits du composant. Procédure : research/20260804-cve-2026-13934-diff-92f928/sources.md §6.
  • Les tests de régression constituent la meilleure spécification d'observation. Le test fourni avec le patch définit « quelle entrée produit quel résultat », ce qui permet de confirmer la différence avant/après sans reproduction dangereuse.
  • Ne pas mélanger ce qui est confirmé et ce qui est estimé. Les livrables de ce dépôt ne laissent pas les éléments non confirmés en blanc ; ils les consignent comme « non confirmé + raison ».

Détails : docs/cve-2026-13934/lessons.md

Livrables

Documents d'apprentissage (docs/)

DocumentContenu
docs/cve-2026-13934/overview.mdAperçu, contexte, résumé des conclusions, interprétation de la sévérité
docs/cve-2026-13934/root-cause-and-fix.mdStructure de la cause en 3 couches et les deux niveaux du patch
docs/cve-2026-13934/evidence.mdObservations de la comparaison statique, chemins d'observation et limites
docs/cve-2026-13934/lessons.mdEnseignements en conception de sécurité et méthode d'investigation
docs/cve-2026-13934/limits-and-sources.mdLimites, éléments non confirmés et liste des sources
docs/conventions.mdConventions de dossiers et de livrables (intégralité)

Investigation — informations publiques et périmètre d'impact (research/20260804-cve-2026-13934-6bacf7/)

DocumentContenu
brief.mdTexte de la demande d'origine, critères de jugement C1~C6, définition des sources officielles
sources.mdMétadonnées CVE·NVD·avis du fournisseur, CWE·CVSS, conflits entre sources
report.mdVerdicts d'impact·CVSS·conditions de vulnérabilité, verdicts C1~C6, interprétation de la sévérité
followups.jsonSuggestions de suivi

Investigation — comparaison patch/diff (research/20260804-cve-2026-13934-diff-92f928/)

DocumentContenu
brief.mdObjectif, critères de jugement D1~D6, arborescence du patch de référence
sources.mdPaire commit de correctif·base de comparaison, DEPS·Gerrit, procédure de traçage
report.mdFichiers modifiés·delta de logique·verdicts de contournement/risque résiduel, D1~D6
followups.jsonSuggestions de suivi

Analyse — reproduction/démonstration (pour l'apprentissage) (cases/20260804-cve-2026-13934-4d10a8/)

DocumentContenu
intake.mdMétadonnées de réception, cible et bornes de versions, conditions de démarrage, exigences d'isolation, critères de jugement J1~J4
patch_diff.mdModifications et raisons, indicateurs d'observation avant/après patch
root_cause.mdStructure de la cause en 3 couches, prémisses P1~P7, frontière de confiance
exploitability.mdDistinction démontrable/non démontrable, chemins d'observation, contraintes, limites de confinement
report.mdSynthèse de vérification de la reproduction — observations de la comparaison statique, différences avant/après, verdicts J1~J4
followups.jsonSuggestions de suivi

Rapports (reports/20260804-cve-2026-13934-8400bc/)

DocumentContenu
outline.mdLecteurs·sommaire·carte des citations de sources (S1~S15)
README.mdBrouillon source de la promotion de ce README racine
docs-index.mdListe et résumé des documents docs/, points d'attention pour la promotion
followups.jsonSuggestions de suivi

Sources primaires externes (résumé)

  • CVE Record : https://www.cve.org/CVERecord?id=CVE-2026-13934
  • NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-13934
  • Avis du fournisseur : Chrome Releases « Stable Channel Update for Desktop » (2026-06-30)
  • Commit de correctif : https://dawn.googlesource.com/dawn/+/43055cbeadddca41a9c973a809f859d641077b2f

La liste complète, avec les dates de publication et les identifiants, se trouve dans les sources.md des deux lignes d'investigation.

TypeRacine
Investigationresearch/
Analysecases/
Travailwork/
Rapportsreports/

Collecte périodique : research/topics/<topic>/

Règles (résumé)

  • Committer uniquement du texte. Binaires, dumps et captures d'écran interdits. 1 fichier ≤ 1 MiB.
  • Chemins autorisés : research/ · cases/ · work/ · reports/ · docs/ · .laurelin/ · .github/
  • Les humains ne committent pas directement ; les instructions sont données dans le projet de travail Laurelin → Aulë committe.
  • Conventions détaillées : docs/conventions.md
Télécharger l’outil