← voltar
CVE-2021-38003highsob ataqueCWE-755

CVE-2021-38003

85Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 8.8epss 39%
da publicação à arma410 dias
Publicada no NVD23 de nov.
1ª PoC+410d
CISA KEV3 de nov.
probabilidade de exploração
39%top 2% das CVEs
exploração observada
simCISA + VulnCheck
3 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2021-11-17

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

Afetadas
Google Chrome anterior à versão 95.0.4638.69 (Windows, Mac e Linux). Navegadores Chromium-based que embarcam o mesmo V8 vulnerável (ex.: Microsoft Edge, Opera) também podem estar afetados, conforme nota da CISA, mas os números de versão específicos desses produtos não estão nas fontes consultadas.
Corrigidas em
Google Chrome 95.0.4638.69 e posteriores (canal estável, lançado em 28/10/2021). Fedora: pacote chromium atualizado para 95.0.4638.69-1 e consolidado em builds posteriores (96.0.4664.110-3.fc34). Debian bullseye: chromium 97.0.4692.71-0.1~deb11u1 via DSA-5046-1 (lote de correções que inclui esta CVE). Debian buster (oldstable) teve o suporte de segurança ao chromium descontinuado — recomendação do próprio Debian é migrar para bullseye ou trocar de navegador.

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.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Inappropriate implementation in V8 in Google Chrome prior to 95.0.4638.69 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Produtos afetados
Google · Chrome
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.