← voltar
CVE-2021-37975highsob ataqueCWE-416

CVE-2021-37975

83Vexday 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 35%
da publicação à arma
Publicada no NVD8 de out.
CISA KEV+26d
probabilidade de exploração
35%top 2% das CVEs
exploração observada
simCISA + VulnCheck
1 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2021-11-17

Apply updates per vendor instructions.

Resumo

Use-after-free no motor JavaScript/WebAssembly V8 do Google Chrome, explorável através de uma página HTML maliciosa que a vítima precisa abrir. A Google confirmou que exploits para esta falha existiam ativamente antes da correção, o que motivou sua inclusão no catálogo KEV da CISA — não é um bug teórico, foi usado em campanha real.

Detalhamento técnico

A falha é uma condição de use-after-free (CWE-416) dentro do V8, o motor que compila e executa JavaScript no Chrome. O relatório da Google Chrome Releases classifica o bug (issue interna 1252918) como 'High' e o registra como reportado por um pesquisador anônimo em 24/09/2021, corrigido quatro dias depois na versão estável 94.0.4606.71.

O título usado por análises públicas do bug ('Chrome V8 Logic Bug Use-After-Free') sugere que a raiz não é um simples ponteiro pendente esquecido em código nativo, mas um erro de lógica em alguma rotina do V8 — plausivelmente relacionada a otimização JIT (TurboFan), coleta de lixo (garbage collection) ou manipulação de objetos internos — que leva o mecanismo a liberar um objeto ainda referenciado em outro ponto de execução. O atacante controla o conteúdo do script JavaScript embutido na página, e portanto pode manipular a sequência de alocações e o timing do garbage collector para forçar a condição de corrida entre liberação e uso do objeto.

O resultado prático de um UAF bem-sucedido no V8 é corrupção de heap: o atacante realoca um objeto controlado no mesmo endereço de memória do objeto liberado, obtendo leitura/escrita fora dos limites esperados dentro do processo renderer. A partir daí, técnicas conhecidas de exploração de V8 (type confusion, corrupção de ponteiros de objeto JS) permitem escalar de corrupção de memória para execução de código dentro do contexto do renderer.

A Google não publicou detalhes técnicos completos do exploit — como é padrão, o acesso ao bug (crbug.com/1252918) permaneceu restrito até que a maioria dos usuários tivesse atualizado, prática que dificulta a reconstrução exata do fluxo de exploração pelo público.

Como é explorada

O vetor é uma página HTML/JavaScript maliciosa: a vítima precisa visitá-la (UI:R no vetor CVSS), seja por link em phishing, anúncio malicioso ou site comprometido. Não há necessidade de autenticação nem de configuração não padrão do navegador — a exploração ocorre dentro do funcionamento normal do V8 ao processar script arbitrário fornecido pela página.

A Google declarou explicitamente, no mesmo advisory que corrigiu a falha, que 'exploits para CVE-2021-37975 e CVE-2021-37976 existem in the wild' — ou seja, havia campanha ativa usando essa dupla de bugs antes do patch, o que justificou a entrada no catálogo KEV da CISA (exploração confirmada). Como é comum em bugs isolados do V8, a execução de código obtida fica confinada ao processo renderer, sandboxed; para comprometimento total do sistema, esse tipo de bug costuma ser encadeado com uma falha adicional de escape de sandbox — mas as fontes disponíveis não confirmam se, nesse caso específico, houve tal encadeamento.

A complexidade de desenvolvimento de um exploit de UAF em V8 é considerada alta (requer engenharia de heap e conhecimento profundo de estruturas internas do motor), mas o vetor de entrega (visitar uma página) é trivial — daí o CVSS AC:L. Isso explica por que aparece em campanhas direcionadas em vez de exploração massiva e indiscriminada.

Versões

Afetadas
Google Chrome em versões anteriores à 94.0.4606.71 (todas as plataformas desktop: Windows, Mac e Linux). Também afeta distribuições baseadas em Chromium/V8 que empacotavam versões anteriores a 94.0.4606.81 (ex.: builds Fedora e Debian).
Corrigidas em
Google Chrome 94.0.4606.71 (canal estável e estável estendido) corrige a falha upstream. Fedora 33, 34 e 35 publicaram chromium 94.0.4606.81-1 cobrindo esta e outras seis CVEs do mesmo ciclo; Debian endereçou o lote via DSA-5046.

Como se proteger

A correção definitiva é atualizar o Google Chrome (ou qualquer navegador baseado em Chromium/V8) para a versão 94.0.4606.71 ou posterior. Distribuições Linux que empacotam Chromium separadamente publicaram builds corrigidas equivalentes — por exemplo, Fedora 33/34/35 lançaram chromium 94.0.4606.81-1, que também cobre esta CVE junto com outras seis falhas do mesmo ciclo (CVE-2021-37974, -37976 a -37980). O Debian tratou o mesmo lote de correções via DSA-5046.

Não há paliativo funcional real para quem não pode atualizar: como o bug está no motor de execução de JavaScript, desabilitar JavaScript globalmente elimina o vetor mas torna a maioria dos sites inutilizável, e não há flag de linha de comando documentada que mitigue especificamente este UAF sem comprometer a funcionalidade do V8. Isolamento de site (site isolation), já habilitado por padrão em versões recentes do Chrome, reduz o impacto de um comprometimento do renderer mas não impede a exploração da falha em si.

O mito a evitar: assumir que apenas 'não abrir sites suspeitos' mitiga o risco. Como a exploração ocorre via página HTML arbitrária (inclusive via malvertising ou comprometimento de site legítimo), a superfície de exposição é qualquer navegação web comum — a única mitigação com efeito real é a atualização de versão.

Como detectar

Não há assinatura de rede ou de log confiável e publicamente conhecida para identificar tentativas de exploração desta CVE especificamente — o exploit atua inteiramente no lado do cliente, dentro do processo do V8, sem padrão de tráfego de rede distintivo além da entrega de uma página HTML/JS que pode ser ofuscada. A Google não divulgou indicadores de comprometimento (IOCs) associados à campanha in the wild mencionada no advisory.

Em ambientes corporativos, o sinal indireto mais útil é crash ou fechamento anômalo do processo renderer do Chrome (visível em logs de crash reporting ou EDR que monitore comportamento de processos de navegador) correlacionado com navegação para domínios recém-registrados ou de reputação baixa, mas isso é heurística genérica de detecção de exploração de navegador, não específica desta CVE.

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.
Use after free in V8 in Google Chrome prior to 94.0.4606.71 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.