CVE-2021-38003
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply updates per vendor instructions.
Resumo
Falha de implementação incorreta no motor V8 do Chrome que permite corrupção de heap a partir de uma página HTML maliciosa, sem necessidade de autenticação — só que a vítima abra a página. O Google confirmou exploração ativa antes da correção, e a CISA a lista no catálogo KEV como usada em campanhas reais, não é apenas um CVE crítico teórico.
Detalhamento técnico
A CISA descreve o bug com precisão maior que o advisory do Google: há um erro na implementação de JSON.stringify no V8 em que o valor interno TheHole — um sentinela usado internamente pelo motor para representar posições não inicializadas ou removidas em arrays/objetos — pode escapar para código JavaScript controlado pelo atacante. Isso é classificado como CWE-122 (heap-based buffer overflow) e CWE-755 (tratamento inadequado de condições excepcionais).
TheHole nunca deveria ser visível ao script; ele é um detalhe de implementação do motor. Quando esse valor vaza para uma referência acessível via JavaScript, o atacante pode manipular estruturas internas do V8 de forma que o motor trate memória de um jeito inconsistente com o tipo real do objeto (confusão de tipo), o que abre caminho para leitura e escrita fora dos limites esperados no heap — corrupção de heap controlável.
O atacante controla o conteúdo da página HTML/JS servida à vítima: a estrutura dos objetos passados a JSON.stringify e a sequência de operações que provoca o vazamento de TheHole. Não há detalhe técnico público mais profundo nas fontes disponíveis sobre o padrão exato de código que gatilha o bug — o Google restringiu os detalhes do bug (crbug.com/1263462) até que a maioria dos usuários atualizasse, prática padrão para bugs sob exploração ativa.
Como é explorada
O vetor é uma página HTML/JavaScript maliciosa servida ao navegador da vítima — sem qualquer autenticação, mas com interação do usuário (abrir o link ou visitar a página), conforme o próprio vetor CVSS (AV:N/PR:N/UI:R). A execução do V8 acontece dentro do processo de renderização do Chrome; a corrupção de heap por si só normalmente concede execução de código dentro do sandbox do renderer, e costuma ser combinada com uma segunda falha (sandbox escape) para comprometimento total do sistema — mas essa combinação não está documentada nas fontes aqui disponíveis.
O relatório é assinado por Clément Lecigne, do Google Threat Analysis Group (TAG), e Samuel Groß, do Google Project Zero — combinação típica de descoberta durante investigação de campanhas de spyware/vigilância direcionada, não de fuzzing genérico. O próprio blog de release do Chrome afirma que exploits para esta CVE (e para CVE-2021-38000, corrigida no mesmo pacote) existiam in the wild no momento da correção.
A CISA confirma exploração ativa ao incluir a falha no catálogo KEV, com prazo de correção definido em 17/11/2021 (adicionada em 03/11/2021). Não há PoC pública detalhada nas fontes consultadas aqui — apesar de o enunciado da tarefa mencionar 'PoC pública' como sinal catalogado, nenhuma das fontes lidas contém um exploit funcional ou writeup técnico step-by-step.
Versões
Como se proteger
A correção definitiva é atualizar o Chrome para a versão 95.0.4638.69 ou superior (canal estável, lançada em 28/10/2021). Isso vale para qualquer navegador baseado em Chromium que compartilhe o mesmo motor V8 vulnerável — o próprio registro da CISA no KEV nota que a falha pode afetar múltiplos navegadores Chromium-based, incluindo Microsoft Edge e Opera, além do Chrome.
Para distribuições Linux que empacotam Chromium separadamente: Fedora corrigiu na atualização para chromium 95.0.4638.69-1 (changelog do pacote, 12/11/2021), consolidada depois em builds posteriores como 96.0.4664.110-3.fc34. Debian corrigiu no ramo estável (bullseye) na versão 97.0.4692.71-0.1~deb11u1 via DSA-5046 — só que essa DSA cobre um lote grande de CVEs, então não há confirmação isolada de que essa versão específica é o primeiro release a corrigir só esta CVE; a correção original do fornecedor upstream (Google) permanece a referência de versão.
Não há mitigação de configuração ou flag que neutralize esta falha sem atualizar o binário — é um bug de implementação dentro do próprio motor JavaScript, não um comportamento configurável. Desabilitar JavaScript integralmente reduziria a superfície de ataque (já que o vetor depende de JS executando no contexto de JSON.stringify), mas isso quebra a maioria dos sites modernos e não é uma mitigação prática recomendável — é um custo alto demais para a maioria dos ambientes. A única ação real é atualização do binário do navegador.
Como detectar
Não há assinatura de rede ou padrão de log confiável para detectar tentativas de exploração desta falha — o ataque ocorre inteiramente dentro do processo de renderização do V8 ao processar JavaScript malicioso, sem payload de rede distintivo. O sinal mais prático em ambiente corporativo é crash reports ou watchdogs do navegador registrando falhas anômalas do processo renderer (crashes de tipo heap corruption/type confusion) em máquinas que visitaram sites suspeitos, correlacionado com telemetria EDR de pós-exploração (spawn de processos filhos inesperados a partir do Chrome). Como o bug foi descoberto por equipes que rastreiam ameaças direcionadas (TAG/Project Zero), o padrão histórico sugere uso em campanhas de vigilância contra alvos específicos, não exploração massiva e indiscriminada — o que reduz a chance de haver IOCs públicos amplamente compartilhados.