Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2026-13934 — Repository di ricerca strutturata su vulnerabilità per un difetto CWE-20 di Chrome Dawn WebGPU: causa principale, diff della patch, verifica statica, revisione della gravità e lezioni di sicurezza. | Kitploit
Strumenti/GitHubGitHub/artwiderobo/cve-2026-13934
Analisi delle VulnerabilitàAnalisi del CodiceExploitSicurezza WebPaper e RicercaApprendimento e Formazione
GitHubartwiderobo/cve-2026-13934

cve-2026-13934

Repository di ricerca strutturata su vulnerabilità per un difetto CWE-20 di Chrome Dawn WebGPU: causa principale, diff della patch, verifica statica, revisione della gravità e lezioni di sicurezza.

Vedi Repository
71 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-13934

Questo è il repository del progetto di lavoro. Indagini, analisi, attività e report vengono gestiti in un unico repo (D088/D091).

Questo file è il documento di ingresso per repo e board. Per il testo completo delle convenzioni su cartelle e artefatti, consulta docs/conventions.md. Il corpo (stato, conclusioni, link) viene aggiornato quando l'elemento report viene promosso. Gli agenti di indagine, analisi e lavoro non modificano il README root.

Sintesi in una riga: durante la creazione di sampler YCbCr, l'implementazione WebGPU di Google Chrome, Dawn, non verificava i vincoli sui parametri richiesti dalla specifica Vulkan; un attaccante che aveva già compromesso il processo renderer poteva così far arrivare valori fuori specifica fino al processo GPU (CWE-20). La correzione è stata applicata su due strati — convalida aggiuntiva e imposizione lato backend — ed è inclusa in Chrome 150.0.7871.47.

I documenti di apprendimento dettagliati sono in docs/cve-2026-13934/ — scritti in modo da poter seguire causa, correzione, verifica e lezioni senza riproduzione.

Stato

Oggetto: CVE-2026-13934 — Google Chrome / Dawn (implementazione WebGPU), tipo di vulnerabilità (Improper Input Validation). CVE pubblicata il 2026-06-30, versione corretta . Base: §1·§2.

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

Fasi di avanzamento — quattro linee di lavoro: indagine (informazioni pubbliche) · indagine (patch e diff) · analisi (riproduzione e verifica) · report (sintesi di apprendimento). Tutte e quattro sono state completate.

LineaStatoElementi ottenuti
Indagine su informazioni pubbliche e ambito di impatto (research/…-6bacf7/)Completata (4 documenti)Metadati di CVE, NVD e avvisi del vendor, CWE·CVSS, confini delle versioni impattate, giudizi sui criteri di valutazione
Confronto patch/diff (research/…-diff-92f928/)Completata (4 documenti)Identificazione del commit di correzione, tre livelli di riferimento per il confronto, delta di file e logica modificati, giudizio su bypass e rischi residui
Riproduzione e verifica (cases/…-4d10a8/)Completata (6 documenti) — confronto statico eseguito, nessuna osservazione a livello di esecuzioneStruttura della causa, sfruttabilità e vincoli, valori osservati dal confronto statico delle due revisioni
Report di apprendimento (reports/…-8400bc/)Completata (4 documenti)Indice e mappa delle citazioni, bozza del README root, elenco dei documenti in docs/

Elementi confermati

  • Identificatore CVE e stato (pubblicata), CNA (Chrome/Google), prodotto interessato (Google Chrome), componente interessato (Dawn).
  • Versione corretta 150.0.7871.47 e commit di correzione (Dawn 43055cbe…), 3 file modificati e relative motivazioni.
  • Nella revisione vulnerabile non c'è alcuna verifica dei vincoli di specifica, imposizione o test di regressione; nella revisione corretta ci sono tutti — confermato tramite confronto statico dei due snapshot Dawn effettivamente fissati da Chrome (cases/20260804-cve-2026-13934-4d10a8/report.md §3).

Elementi non ancora confermati (non abbiamo colmato le lacune con congetture)

  • Nessuna osservazione a livello di esecuzione — non abbiamo compilato le due revisioni né eseguito test unitari. L'output effettivo dei messaggi di errore di convalida, i parametri VkSampler generati e i report VUID del livello di validazione Vulkan sono valori attesi basati sull'analisi del codice (cases/…-4d10a8/report.md §4).
  • Piattaforma interessata — la descrizione della CVE indica "on Android", ma l'avviso del vendor che riporta la CVE è un avviso del canale desktop. Non abbiamo verificato se lo stesso percorso sussista anche sul desktop.
  • Confine delle versioni impattate — i tag Chromium 150.0.7871.46, .47 e .63 fissano tutti la stessa revisione Dawn, ma la CVE riporta "prior to .47". Non siamo riusciti a verificare la base di questa dicitura.
  • Completezza della correzione — c'è stato un solo commit lato Dawn che fa riferimento al bug, ma non abbiamo condotto un'indagine esaustiva su eventuali modifiche di accompagnamento lato Chromium src.
  • Analisi interna del vendor — l'issue Chromium 513006636, che contiene la causa, è in stato di accesso limitato.

Gravità — varia a seconda della fonte. La valutazione del vendor (Chromium) stesso è Medium, il CVSS v3.1 di CISA-ADP è 9.6 CRITICAL (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H) e non esiste una valutazione NVD autonoma. Le riportiamo affiancate senza giudicare quale sia corretta — l'interpretazione è in docs/cve-2026-13934/overview.md.

Questo repository non contiene servizi distribuiti (API, backend, database, ecc.). Tutti gli artefatti sono documenti.

Conclusioni principali

1. Causa — non sono state verificate le precondizioni richieste dalla specifica

La specifica Vulkan richiede che, per i sampler con trasformazione YCbCr, la modalità di indirizzamento di tutti gli assi sia CLAMP_TO_EDGE e che il filtraggio anisotropo (anisotropy) sia disattivato (VUID-VkSamplerCreateInfo-addressModeU-01646). Prima della patch, Dawn non verificava questo vincolo, quindi i parametri fuori specifica potevano superare la convalida e arrivare fino alla creazione del VkSampler.

L'elemento decisivo è il modello di minaccia. La descrizione pubblica presuppone un attaccante che ha già compromesso il processo renderer ("a remote attacker who had compromised the renderer process"). Da quella posizione si possono manipolare direttamente i comandi tra processi, non il normale percorso delle API web, quindi la convalida lato renderer è al di fuori del confine di fiducia. E il backend Vulkan di Dawn opera nel processo GPU, che ha privilegi più elevati del renderer — per questo il difetto diventa una superficie di escape dalla sandbox.

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

2. Correzione — non ci si è limitati a un solo strato di convalida

Il commit di correzione è Dawn 43055cbeadddca41a9c973a809f859d641077b2f ("Add YCbCr sampler validation", 2026-05-27, Bug: 513006636) e modifica tre file.

ModificaFileNatura
Aggiunta di 4 controlli su modalità di indirizzamento e maxAnisotropy nel descrittore YCbCrsrc/dawn/native/Sampler.cppConvalida frontend — rifiuta le richieste non conformi
Sovrascrittura di modalità di indirizzamento e anisotropia con valori conformi alla specifica nei percorsi con trasformazione YCbCrsrc/dawn/native/vulkan/SamplerVk.cppImposizione backend — qualunque sia l'input, non viene creato uno stato non conforme
Aggiunta del test di regressione YCbCrSamplerRequiredParamssrc/dawn/tests/unittests/validation/YCbCrValidationTests.cppPrevenzione delle ricadute

Questa struttura è il cuore della CVE. Poiché si presuppone che il renderer sia già compromesso, la sola convalida non basta: è il secondo strato, che impone i valori dal lato con privilegi più elevati, a costituire la linea di blocco effettiva. Riassumere come "mancava la convalida dell'input e quindi è stata aggiunta" farebbe perdere il punto centrale del progetto difensivo.

La dimensione della modifica è 53 righe aggiunte, 0 cancellate — una patch che colma i controlli mancanti senza modificare la logica esistente.

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

3. Verifica — confermato fino al livello statico

Abbiamo confrontato il codice sorgente dei due snapshot Dawn effettivamente fissati da Chrome.

Oggetto osservatoLato vulnerabile 54b4153c…Lato corretto 01249a97…Livello di verifica
Numero di DAWN_INVALID_IF nel blocco di convalida YCbCr2 (gate di funzionalità + formato non definito)6Misurato
Imposizione di valori conformi alla specifica nel backend VulkanAssente (fino al collegamento di pNext)PresenteMisurato
Test di regressione YCbCrSamplerRequiredParamsAssente (23 TEST_F)Presente (24)Misurato
device error in caso di richiesta non conformeNon si verificaSi verificaAtteso (basato sul codice)

Ciò che emerge qui: anche nel lato vulnerabile il ramo YCbCr e 2 controlli erano già presenti. Il difetto non era un percorso mancante, ma l'omissione del controllo del vincolo condizionale all'interno del ramo.

Poiché non abbiamo compilato né eseguito, le due voci seguenti sono attese basate sull'analisi del codice, non misurazioni.

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

4. Lezioni apprese

Dal punto di vista della progettazione della sicurezza

  • I valori che attraversano un confine di fiducia vanno gestiti nuovamente dalla parte ricevente. La convalida lato client/renderer serve per comodità e diagnosi; all'interno del confine di privilegio i valori vanno verificati o imposti.
  • Le "precondizioni richieste dalla specifica" non vengono rispettate se non sono imposte nel codice. I vincoli condizionali vanno gestiti nel ramo in cui la condizione sussiste; in questo caso il ramo esisteva, mancava solo il controllo.
  • Rifiuto (reject) e correzione (clamp) hanno ruoli diversi. Questa patch rifiuta nel percorso normale e applica la correzione ai valori che provengono dall'esterno del confine di fiducia.
  • Non giudicare basandosi su una sola gravità. Per la stessa vulnerabilità coesistono il grado Medium del vendor e il CVSS 9.6 CRITICAL. Il rischio reale emerge solo leggendo insieme le precondizioni (compromissione preventiva del renderer).
  • Non invertire la direzione del segnale di rilevamento. I messaggi di errore di convalida si verificano solo dopo la patch. Il ragionamento "non c'è quell'errore nei log, quindi è sicuro" è capovolto.

Dal punto di vista metodologico dell'indagine

  • Si può tracciare anche se il link di riferimento della CVE non contiene la patch. Abbiamo trovato il commit di correzione seguendo: numero di bug nell'avviso del vendor → tag di confronto delle release → revisione del componente in DEPS → ricerca del numero di bug nel log dei commit del componente. Procedura: research/20260804-cve-2026-13934-diff-92f928/sources.md §6.
  • Il test di regressione è la migliore specifica osservabile. Il test allegato alla patch definisce "quale risultato per quale input", quindi è possibile verificare la differenza prima/dopo senza una riproduzione rischiosa.
  • Non mescolare ciò che è confermato con ciò che è ipotizzato. Gli artefatti di questo repository non lasciano vuote le voci non verificate, ma le riportano come "non verificato + motivo".

Dettagli: docs/cve-2026-13934/lessons.md

Artefatti

Documenti di apprendimento (docs/)

DocumentoContenuto
docs/cve-2026-13934/overview.mdPanoramica, contesto, sintesi delle conclusioni, interpretazione della gravità
docs/cve-2026-13934/root-cause-and-fix.mdStruttura a 3 livelli della causa e i due strati della patch
docs/cve-2026-13934/evidence.mdValori osservati dal confronto statico, percorso di osservazione e limiti
docs/cve-2026-13934/lessons.mdLezioni su progettazione della sicurezza e metodi di indagine
docs/cve-2026-13934/limits-and-sources.mdLimiti, voci non verificate ed elenco delle fonti
docs/conventions.mdConvenzioni su cartelle e artefatti (testo completo)

Indagine — informazioni pubbliche e ambito di impatto (research/20260804-cve-2026-13934-6bacf7/)

DocumentoContenuto
brief.mdTesto originale della richiesta, criteri di giudizio C1~C6, definizione delle fonti ufficiali
sources.mdMetadati di CVE, NVD e avvisi del vendor, CWE·CVSS, conflitti tra fonti
report.mdGiudizio su impatto, CVSS e condizioni di vulnerabilità, giudizi C1~C6, interpretazione della gravità
followups.jsonProposte di follow-up

Indagine — confronto patch/diff (research/20260804-cve-2026-13934-diff-92f928/)

DocumentoContenuto
brief.mdObiettivo, criteri di giudizio D1~D6, albero della patch di riferimento
sources.mdCoppia commit di correzione/riferimento di confronto, DEPS·Gerrit, procedura di tracciamento
report.mdFile modificati, delta di logica, giudizio su bypass e rischi residui, D1~D6
followups.jsonProposte di follow-up

Analisi — riproduzione e verifica (a scopo di apprendimento) (cases/20260804-cve-2026-13934-4d10a8/)

DocumentoContenuto
intake.mdMetadati di presa in carico, oggetto e intervallo di versioni, condizioni di avvio, requisiti di isolamento, criteri di giudizio J1~J4
patch_diff.mdModifiche e motivazioni, indicatori osservabili prima/dopo la patch
root_cause.mdStruttura a 3 livelli della causa principale, precondizioni P1~P7, confine di fiducia
exploitability.mdDistinzione verificabile/non verificabile, percorso di osservazione, vincoli, confini di prevenzione della propagazione
report.mdSintesi della verifica di riproduzione — valori osservati dal confronto statico, differenze prima/dopo, giudizi J1~J4
followups.jsonProposte di follow-up

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

DocumentoContenuto
outline.mdLettori, indice, mappa delle citazioni delle fonti (S1~S15)
README.mdBozza originale da cui è stato promosso questo README root
docs-index.mdElenco e riepilogo dei documenti in docs/, note sulla promozione
followups.jsonProposte di follow-up

Fonti primarie esterne (sintesi)

  • CVE Record: https://www.cve.org/CVERecord?id=CVE-2026-13934
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-13934
  • Avviso del vendor: Chrome Releases "Stable Channel Update for Desktop" (2026-06-30)
  • Commit di correzione: https://dawn.googlesource.com/dawn/+/43055cbeadddca41a9c973a809f859d641077b2f

L'elenco completo con date di pubblicazione e identificatori è nei file sources.md delle due linee di indagine.

TipoRoot
Indagineresearch/
Analisicases/
Lavorowork/
Reportreports/

Raccolta periodica: research/topics/<topic>/

Regole (sintesi)

  • Committare solo testo. Vietati binari, dump e screenshot. Ogni file ≤ 1 MiB.
  • Percorsi consentiti: research/ · cases/ · work/ · reports/ · docs/ · .laurelin/ · .github/
  • Nessun commit diretto da parte di persone: le istruzioni partono dal progetto di lavoro Laurelin → Aule committa.
  • Convenzioni dettagliate: docs/conventions.md
Scarica lo strumento