← voltar
CVE-2020-16009highsob ataqueCWE-787CWE-843

CVE-2020-16009

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 49%
da publicação à arma
Publicada no NVD3 de nov.
CISA KEV+365d
probabilidade de exploração
49%top 1% das CVEs
exploração observada
simCISA + VulnCheck
1 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumo

Falha de type confusion no compilador JIT TurboFan do V8, o motor JavaScript do Chrome, que permite corromper heap ao processar uma página HTML/JS manipulada. Reportada por Clement Lecigne (Google TAG) e Samuel Groß (Google Project Zero), a Google confirmou exploração ativa antes da correção — está no catálogo KEV da CISA e tem PoC pública, o que a torna relevante mesmo isolada, embora a execução resultante fique inicialmente confinada ao processo renderer sandboxed do Chrome.

Detalhamento técnico

A descrição oficial da Google fala em 'inappropriate implementation in V8', mas o título usado em análises técnicas e no PoC divulgado no Packet Storm ('Chrome V8 Turbofan Type Confusion') indica que o problema é um type confusion (CWE-843) no TurboFan, o compilador just-in-time do V8. Esse tipo de falha ocorre quando o otimizador do TurboFan faz suposições incorretas sobre o tipo de um objeto JavaScript durante as fases de especialização/inlining, e código gerado posteriormente trata a memória como se fosse de um tipo diferente do real.

O atacante controla o conteúdo do script executado pela página — estruturas de objetos, arrays, funções que forçam o V8 a compilar caminhos otimizados com hipóteses de tipo específicas, e depois viola essas hipóteses em tempo de execução sem invalidar o código JIT gerado. O resultado é leitura/escrita fora dos limites esperados no heap do processo renderer, que pode ser escalada para corrupção controlada de heap.

A CVE foi corrigida internamente no Chromium (bug 1143772), com detalhes mantidos restritos pela Google por um período, prática padrão quando há exploração ativa — para não facilitar réplicas do exploit antes que a maioria dos usuários atualize.

Como é explorada

O vetor é uma página HTML com JavaScript malicioso; a exploração é puramente remota e não exige autenticação nem configuração não padrão — qualquer usuário que abra a página no Chrome vulnerável está exposto. O vetor CVSS marca UI:R (interação do usuário necessária), ou seja, a vítima precisa navegar até a página ou ser induzida a abri-la (phishing, malvertising, comprometimento de site).

A exploração de type confusion em JIT normalmente exige heap grooming preciso — preparar o layout de memória do processo antes de acionar a falha — e conhecimento detalhado da versão exata do V8, o que eleva a complexidade de desenvolvimento do exploit, mesmo que a exploração final seja simples de disparar. O escopo do CVSS é 'Unchanged' (S:U), então a falha por si só compromete o processo renderer, sandboxed; para controle total do sistema, exploits reais costumas encadear uma segunda falha de escape de sandbox — a Google não confirmou publicamente qual cadeia foi usada nos ataques observados.

A Google declarou estar 'aware of reports that an exploit for CVE-2020-16009 exists in the wild' no mesmo anúncio que corrigiu a falha, e a CISA a lista no catálogo KEV, confirmando exploração ativa antes ou no momento da divulgação — não se trata de exploração hipotética.

Versões

Afetadas
Google Chrome anterior a 86.0.4240.183 (Windows, Mac e Linux). Builds Chromium/derivados anteriores à mesma base de código estão igualmente expostos.
Corrigidas em
Google Chrome 86.0.4240.183 e posteriores. Pacotes Chromium de distribuição: Fedora chromium-86.0.4240.183-1 (Fedora 33) e chromium-87.0.4280.66-1 (Fedora 32, via atualização cumulativa); Gentoo GLSA 202011-12 exige www-client/chromium e www-client/google-chrome >= 86.0.4240.193.

Como se proteger

Atualizar para Google Chrome 86.0.4240.183 ou posterior elimina a falha; distribuições baseadas em Chromium (Fedora, openSUSE, Gentoo) publicaram pacotes chromium equivalentes na mesma janela (Fedora 86.0.4240.183-1, Gentoo exige >= 86.0.4240.193, já cobrindo esta e outras CVEs do mesmo lote). Não há flag de configuração ou paliativo funcional documentado pelo fornecedor — o Gentoo GLSA 202011-12 registra explicitamente 'There is no known workaround at this time'.

Desabilitar JavaScript reduz a superfície de ataque mas quebra a usabilidade da maioria dos sites e não é uma mitigação prática recomendada pelo fornecedor. Como a falha está no JIT do V8 embutido no Chrome, ela também afeta qualquer aplicação que empacote esse motor (Electron, navegadores derivados de Chromium) até que atualizem seus próprios binários — verificar a versão do Chromium embarcado é necessário além de apenas atualizar o navegador principal.

Como detectar

Não há assinatura de rede ou log confiável documentada publicamente para detectar tentativas de exploração desta CVE especificamente — a exploração ocorre inteiramente dentro do processo renderer via JavaScript, sem padrão de tráfego distintivo conhecido. Indicadores indiretos possíveis incluem crashes inesperados do processo renderer do Chrome (visíveis em chrome://crashes ou logs de crash corporativos) após visita a páginas específicas, e telemetria de EDR que capture comportamento anômalo pós-comprometimento do renderer — mas nenhum IOC específico para CVE-2020-16009 foi publicado pela Google ou por pesquisadores nas fontes analisadas.

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 86.0.4240.183 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.