Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2026-13934 — Repositório estruturado de pesquisa de vulnerabilidades para uma falha CWE-20 do Chrome Dawn WebGPU: causa raiz, diff do patch, verificação estática, revisão de gravidade e lições de segurança. | Kitploit
Ferramentas/GitHubGitHub/artwiderobo/cve-2026-13934
Análise de VulnerabilidadesAnálise de CódigoExploraçãoSegurança WebPapers e PesquisaAprendizado e Educação
GitHubartwiderobo/cve-2026-13934

cve-2026-13934

Repositório estruturado de pesquisa de vulnerabilidades para uma falha CWE-20 do Chrome Dawn WebGPU: causa raiz, diff do patch, verificação estática, revisão de gravidade e lições de segurança.

Ver Repositório
há 14 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-13934

Este é o repositório do projeto de trabalho. Ele cobre investigação, análise, trabalho e relatórios em um único repositório (D088/D091).

Este arquivo é o documento de entrada do repositório/board. Para o texto completo das convenções de pastas·artefatos, consulte docs/conventions.md. O corpo do texto (status·conclusões·links) é atualizado quando o item relatório (report) é promovido. Os agentes de investigação·análise·trabalho não modificam o README raiz.

Resumo em uma linha: a implementação do WebGPU do Google Chrome, o Dawn, não verificava as restrições de parâmetros exigidas pela especificação Vulkan ao criar amostradores YCbCr, permitindo que um atacante que já tivesse comprometido o processo renderer enviasse valores fora da especificação até o processo GPU (CWE-20). A correção adicionou duas camadas — validação adicional e imposição no backend — e foi incorporada no Chrome 150.0.7871.47.

Os documentos de aprendizado detalhados estão em docs/cve-2026-13934/ — escritos para que se possa acompanhar causa·correção·evidências·lições sem reprodução.

Status

Alvo: CVE-2026-13934 — Google Chrome / Dawn (implementação do WebGPU), tipo de vulnerabilidade CWE-20 (Improper Input Validation). CVE publicado em 2026-06-30, versão corrigida 150.0.7871.47. Base: research/20260804-cve-2026-13934-6bacf7/sources.md §1·§2.

Andamento — conduzido em quatro linhas: investigação (informações públicas) · investigação (patch·diff) · análise (reprodução·evidências) · relatório (consolidação do aprendizado); todas as quatro linhas foram concluídas.

O que foi confirmado

  • Identificador do CVE·status (público), CNA (Chrome/Google), produto afetado (Google Chrome), componente afetado (Dawn).
  • Versão corrigida 150.0.7871.47 e commit de correção (Dawn 43055cbe…), os 3 arquivos alterados e o motivo das alterações.
  • A revisão vulnerável não tem nenhuma verificação de restrição da especificação, imposição ou teste de regressão, e a revisão corrigida tem todos — confirmado por comparação estática dos dois snapshots do Dawn que o Chrome realmente fixou (cases/20260804-cve-2026-13934-4d10a8/report.md §3).

O que ainda não foi confirmado (não preenchemos com suposições)

  • Nenhuma observação em nível de execução — não compilamos as duas revisões nem executamos testes de unidade. A saída real das mensagens de erro de validação, os parâmetros do VkSampler gerado e os relatórios de VUID da camada de validação Vulkan são valores esperados com base no código (cases/…-4d10a8/report.md §4).
  • Plataformas afetadas — a descrição do CVE diz "on Android", mas o aviso do fornecedor que contém esse CVE é o aviso do canal desktop. Não confirmamos se o mesmo caminho se sustenta no desktop.
  • Limites de versões afetadas — as tags do Chromium 150.0.7871.46·.47·.63 fixam todas a mesma revisão do Dawn, mas o CVE o descreve como "prior to .47". Não conseguimos confirmar a base dessa notação.
  • Completude da correção — houve apenas 1 commit no lado do Dawn referenciando esse bug, mas não verificamos exaustivamente se houve alterações acompanhantes no lado do src do Chromium.
  • Análise interna do fornecedor — a issue 513006636 do Chromium, que contém a causa, está com acesso restrito.

Gravidade — varia conforme a fonte. A classificação do próprio fornecedor (Chromium) é Medium, o CVSS v3.1 do 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 não há avaliação própria da NVD. Apresentamos ambas sem julgar qual está correta — a interpretação está em docs/cve-2026-13934/overview.md.

Este repositório não contém serviços implantados (API·backend·banco de dados etc.). Todos os artefatos são documentos.

Principais conclusões

1. Causa — a premissa exigida pela especificação não era verificada

A especificação Vulkan exige que, para amostradores com conversão YCbCr, os modos de endereçamento de todos os eixos sejam CLAMP_TO_EDGE e a filtragem anisotrópica (anisotropy) esteja desativada (VUID-VkSamplerCreateInfo-addressModeU-01646). Antes do patch, o Dawn não verificava essa restrição; portanto, parâmetros que violavam a especificação podiam passar pela validação e chegar até a criação do VkSampler.

O ponto decisivo é o modelo de ameaça. A descrição pública pressupõe um atacante que já comprometeu o processo renderer ("a remote attacker who had compromised the renderer process"). Nessa posição, é possível manipular diretamente os comandos entre processos, em vez do caminho normal da API web; portanto, a validação no lado do renderer está fora do limite de confiança. E o backend Vulkan do Dawn opera no processo GPU, que tem privilégios maiores que o renderer — é por isso que essa falha se torna uma superfície de escape da sandbox.

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

2. Correção — não se limitou a uma única camada de validação

O commit de correção é o Dawn 43055cbeadddca41a9c973a809f859d641077b2f ("Add YCbCr sampler validation", 2026-05-27, Bug: 513006636) e altera três arquivos.

Essa estrutura é o núcleo deste CVE. Como a premissa é que o renderer já foi comprometido, apenas a validação não é suficiente; a segunda camada, que impõe os valores no lado de maior privilégio, é a linha de bloqueio efetiva. Resumir como "faltava validação de entrada, então adicionaram validação" perde o ponto central do design de defesa.

O tamanho da alteração é 53 linhas adicionadas, 0 removidas — um patch que preenche as verificações ausentes sem modificar a lógica existente.

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

3. Evidências — confirmadas até o nível estático

Comparamos o código-fonte dos dois snapshots do Dawn que o Chrome realmente fixou.

O que isso revelou: o lado vulnerável já tinha o ramo YCbCr e 2 verificações. A falha não era a ausência do caminho, mas a omissão da verificação de restrição condicional dentro do ramo.

Não compilamos nem executamos; portanto, os dois itens abaixo são expectativas baseadas no código, não observações diretas.

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

4. Lições

Do ponto de vista do design de segurança

  • Valores que cruzam o limite de confiança devem ser tratados novamente no lado de chegada. A validação no cliente/renderer existe para conveniência e diagnóstico; dentro do limite de privilégio, os valores devem ser validados ou impostos.
  • Uma "premissa exigida pela especificação" não se mantém a menos que seja imposta em código. Restrições condicionais devem ser tratadas no ramo em que a condição se aplica; neste caso, o ramo existia, mas a verificação é que faltava.
  • Rejeitar (reject) e corrigir (clamp) têm papéis diferentes. Este patch rejeita no caminho normal e aplica a correção aos valores vindos de fora do limite de confiança.
  • Não julgue com base apenas na gravidade. Para a mesma vulnerabilidade, coexistem a classificação Medium do fornecedor e o CVSS 9.6 CRITICAL. É preciso ler a premissa (comprometimento prévio do renderer) junto para enxergar o risco real.
  • Não inverta a direção do sinal de detecção. As mensagens de erro de validação ocorrem somente após o patch. Raciocinar que "não há esse erro no log, logo é seguro" é o inverso.

Do ponto de vista do método de investigação

  • É possível rastrear o CVE mesmo sem patch no link de referência. Encontramos o commit de correção por: número do bug no aviso do fornecedor → tags de comparação de releases → revisão do componente no DEPS → busca do número do bug no log de commits do componente. Procedimento: research/20260804-cve-2026-13934-diff-92f928/sources.md §6.
  • O teste de regressão é a melhor especificação observável. Como o teste que acompanha o patch define "qual entrada gera qual resultado", é possível confirmar a diferença antes/depois sem uma reprodução arriscada.
  • Não misture o que foi confirmado com o que foi estimado. Os artefatos deste repositório não deixam itens não confirmados em branco; registram-nos como "não confirmado + motivo".

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

Artefatos

Documentos de aprendizado (docs/)

Investigação — informações públicas·escopo de impacto (research/20260804-cve-2026-13934-6bacf7/)

Investigação — comparação de patch·diff (research/20260804-cve-2026-13934-diff-92f928/)

Análise — reprodução·evidências (para aprendizado) (cases/20260804-cve-2026-13934-4d10a8/)

Relatórios (reports/20260804-cve-2026-13934-8400bc/)

Fontes primárias externas (resumo)

  • CVE Record: https://www.cve.org/CVERecord?id=CVE-2026-13934
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-13934
  • Aviso do fornecedor: Chrome Releases "Stable Channel Update for Desktop" (2026-06-30)
  • Commit de correção: https://dawn.googlesource.com/dawn/+/43055cbeadddca41a9c973a809f859d641077b2f

A lista completa, com datas de publicação e identificadores, está nos sources.md das duas linhas de investigação.

TipoRaiz
Investigaçãoresearch/
Análisecases/
Trabalhowork/
Relatórios

Coleta periódica: research/topics/<topic>/

Regras (resumo)

  • Apenas texto em commits. Proibidos binários·dumps·capturas de tela. Cada arquivo ≤ 1 MiB.
  • Caminhos permitidos: research/ · cases/ · work/ · reports/ · docs/ · .laurelin/ · .github/
  • Humanos não fazem commit diretamente; a instrução vem do projeto de trabalho Laurelin → Aulë faz o commit.
  • Convenções detalhadas: docs/conventions.md
Baixar ferramenta
LinhaStatusO que foi obtido
Investigação de informações públicas·escopo de impacto (research/…-6bacf7/)Concluída (4 documentos)Metadados de CVE·NVD·aviso do fornecedor, CWE·CVSS, limites de versões afetadas, julgamentos segundo os critérios
Comparação de patch·diff (research/…-diff-92f928/)Concluída (4 documentos)Identificação do commit de correção, critérios de comparação em 3 níveis, delta de arquivos alterados·lógica, julgamento de bypass·risco residual
Reprodução·evidências (cases/…-4d10a8/)Concluída (6 documentos) — comparação estática realizada, observação em nível de execução não feitaEstrutura da causa, viabilidade·restrições de exploração, valores observados na comparação estática das duas revisões
Relatório de aprendizado (reports/…-8400bc/)Concluída (4 documentos)Sumário·mapa de citações, rascunho do README raiz, lista de documentos de docs/
AlteraçãoArquivoNatureza
Adição de 4 verificações de modo de endereçamento·maxAnisotropy no descritor YCbCrsrc/dawn/native/Sampler.cppValidação no frontend — rejeita solicitações em violação
Sobrescrita dos modos de endereçamento·anisotropia por valores em conformidade com a especificação nos caminhos com conversão YCbCrsrc/dawn/native/vulkan/SamplerVk.cppImposição no backend — não cria estado de violação, independentemente da entrada
Adição do teste de regressão YCbCrSamplerRequiredParamssrc/dawn/tests/unittests/validation/YCbCrValidationTests.cppPrevenção de recorrência
Item observadoLado vulnerável 54b4153c…Lado corrigido 01249a97…Nível de confirmação
Número de DAWN_INVALID_IF no bloco de validação YCbCr2 (gate de funcionalidade + formato indefinido)6Observado diretamente
Imposição de valores em conformidade com a especificação no backend VulkanAusente (até a conexão do pNext)PresenteObservado diretamente
Teste de regressão YCbCrSamplerRequiredParamsAusente (23 TEST_F)Presente (24)Observado diretamente
Erro de device em solicitação em violaçãoNão ocorreOcorreEsperado (com base no código)
DocumentoConteúdo
docs/cve-2026-13934/overview.mdVisão geral·contexto·resumo das conclusões, interpretação da gravidade
docs/cve-2026-13934/root-cause-and-fix.mdEstrutura da causa em 3 camadas e as duas camadas do patch
docs/cve-2026-13934/evidence.mdValores observados na comparação estática, caminhos de observação e limitações
docs/cve-2026-13934/lessons.mdLições de design de segurança·método de investigação
docs/cve-2026-13934/limits-and-sources.mdLimitações·itens não confirmados e lista de fontes
docs/conventions.mdConvenções de pastas·artefatos (texto completo)
DocumentoConteúdo
brief.mdTexto original da solicitação, critérios de julgamento C1~C6, definição de fontes oficiais
sources.mdMetadados de CVE·NVD·aviso do fornecedor, CWE·CVSS, conflitos entre fontes
report.mdJulgamento de impacto·CVSS·condições da vulnerabilidade, julgamentos C1~C6, interpretação da gravidade
followups.jsonPropostas de acompanhamento
DocumentoConteúdo
brief.mdObjetivo, critérios de julgamento D1~D6, árvore do patch de referência
sources.mdPar commit de correção·critérios de comparação, DEPS·Gerrit, procedimento de rastreamento
report.mdArquivos alterados·delta de lógica·julgamento de bypass/risco residual, D1~D6
followups.jsonPropostas de acompanhamento
DocumentoConteúdo
intake.mdMetadados de recebimento, escopo de alvo·versões, condições de início, requisitos de isolamento, critérios de julgamento J1~J4
patch_diff.mdAlterações·motivo das alterações, indicadores observáveis antes/depois do patch
root_cause.mdEstrutura da causa raiz em 3 camadas, premissas P1~P7, limite de confiança
exploitability.mdDistinção entre demonstrável/não demonstrável, caminhos de observação, restrições, limites de contenção
report.mdSíntese da verificação de reprodução — valores observados na comparação estática, diferenças antes/depois, julgamentos J1~J4
followups.jsonPropostas de acompanhamento
DocumentoConteúdo
outline.mdPúblico-alvo·sumário·mapa de citações de fontes (S1~S15)
README.mdRascunho original que foi promovido a este README raiz
docs-index.mdLista·resumo dos documentos de docs/, observações para a promoção
followups.jsonPropostas de acompanhamento
reports/