← back
CVE-2021-21206highunder attackCWE-416

CVE-2021-21206

51Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA.

ssvc Actcvss 8.8epss 9.3%
from disclosure to weapon
Published on NVDApr 26
CISA KEV+191d
exploitation probability
9.3%top 5% of all CVEs
observed exploitation
yesCISA + VulnCheck
What the vendors declare (VEX)

Official vendor statements in CSAF/VEX format: whether their product is affected, already fixed, or ruled out — and why. These are the vendor's assertions, not Vexday's judgment.

Not affected
1 productbecause the vulnerable code is not present in the product
red_hat_products
Action required by CISAfederal deadline: 2021-11-17

Apply updates per vendor instructions.

Summary

Use-after-free no motor de renderização Blink do Google Chrome, corrigido em março/abril de 2021. A falha permite corrupção de heap a partir de uma página HTML maliciosa e o Google confirmou, no próprio boletim de lançamento, que exploits para ela já circulavam ativamente antes da correção — o que a colocou no catálogo KEV da CISA.

Technical detail

A vulnerabilidade é uma condição de use-after-free (CWE-416) dentro do Blink, o motor de renderização do Chrome responsável por processar HTML, CSS e a árvore DOM. Nesse tipo de falha, um objeto na memória é liberado (free) mas algum ponteiro para ele continua acessível e é usado posteriormente; se o atacante conseguir realocar memória controlada na região liberada antes desse uso, pode corromper o heap com dados próprios.

O Google não publicou detalhes técnicos completos do bug em si (o rastreador crbug.com/1196781 permaneceu com acesso restrito, prática padrão do Chrome até que a maioria dos usuários tenha atualizado). A descrição oficial confirma apenas que o gatilho é uma página HTML criada especificamente para acionar o caminho de código vulnerável no Blink — não há indicação pública de qual subsistema específico (parsing, layout, eventos, etc.) contém o objeto vulnerável.

O que o atacante controla, na prática, é o conteúdo da página HTML/JS servida à vítima. É esse conteúdo que manipula o ciclo de vida de objetos internos do Blink de forma a forçar a liberação prematura de um objeto ainda referenciado, criando a janela de use-after-free.

How it’s exploited

O vetor é remoto e via navegador: a vítima precisa visitar uma página web maliciosa (ou comprometida) com o Chrome vulnerável. O CVSS reflete isso — AV:N (rede), AC:L (baixa complexidade), PR:N (sem privilégios), mas UI:R (requer interação do usuário, isto é, abrir/carregar a página). Não há pré-condição de configuração não padrão: o bug afeta o comportamento padrão do renderizador em qualquer instalação do Chrome nas versões vulneráveis.

O Google declarou publicamente, no anúncio de lançamento da versão 89.0.4389.128, que tinha conhecimento de exploits para CVE-2021-21206 e para a CVE-2021-21220 (V8) circulando in-the-wild antes da correção. Isso sugere que a exploração provavelmente combinava as duas falhas em cadeia — CVE-2021-21220 para obter execução de código no processo de renderer via V8, e o UAF do Blink como componente adicional da cadeia de exploração ou como vetor primário de corrupção de heap para desvio de fluxo de controle — mas o próprio fornecedor não detalhou a cadeia publicamente, e não há writeup técnico independente amplamente disponível nas fontes consultadas que confirme os detalhes exatos da exploração.

O resultado final de uma exploração bem-sucedida, segundo o vetor CVSS (C:H/I:H/A:H), é comprometimento total de confidencialidade, integridade e disponibilidade — compatível com execução de código arbitrário dentro do processo do renderer, tipicamente usado como primeiro estágio para depois tentar escapar do sandbox do Chrome com uma falha adicional.

Versions

Affected
Google Chrome anterior à 89.0.4389.128 (todas as plataformas desktop: Windows, Mac e Linux). Builds de Chromium anteriores à 90.0.4430.93 em distribuições que empacotam o motor separadamente também estavam vulneráveis, conforme os backports aplicados por Fedora e Gentoo.
Fixed in
Google Chrome 89.0.4389.128 (stable channel, lançado em 13 de abril de 2021). Em pacotes Chromium de distribuições Linux, a correção foi consolidada na versão 90.0.4430.93, distribuída via Fedora 32, 33 e 34 e via Gentoo (GLSA 202104-08).

How to protect

Atualizar o Google Chrome para a versão 89.0.4389.128 ou posterior elimina a falha. Em distribuições Linux que empacotam Chromium separadamente, a correção equivalente chegou via Chromium 90.0.4430.93 (backport confirmado em pacotes Fedora 32/33/34 e no advisory do Gentoo). Não há changelog público detalhando o comportamento anterior à correção, então não é possível descrever a mudança de código em si.

Não existe paliativo de configuração conhecido: a falha está no motor de renderização usado por todo conteúdo web, então desabilitar JavaScript ou extensões não elimina o vetor de forma confiável, apenas reduz a superfície de forma parcial e sem garantia — não deve ser tratado como mitigação equivalente à atualização. Como o bug já foi explorado ativamente antes da correção, atualizar imediatamente era (e continua sendo, para qualquer instalação legada ainda na 89.0.4389.x ou anterior) a única mitigação real.

Como o Chrome se atualiza automaticamente por padrão, o risco residual hoje está concentrado em ambientes com atualização automática desabilitada, imagens congeladas (kiosks, VDI, appliances embarcados com Chromium) ou builds antigos de Chromium/Electron que não seguiram o backport.

How to detect

Não há assinatura de rede confiável para detectar exploração de um use-after-free em Blink: o gatilho é HTML/JS servido normalmente por HTTPS, indistinguível de tráfego legítimo sem inspecionar o conteúdo da página em si. Do lado do host, sinais possíveis incluem crashes ou encerramentos anômalos do processo renderer do Chrome (chrome.exe/renderer) em endpoints, especialmente crashes correlacionados com visitas a domínios recém-registrados ou não usuais, e alertas de EDR para comportamento pós-exploração no processo do navegador (spawning de processos filhos inesperados, tentativas de escape de sandbox). Como o Google não divulgou indicadores de comprometimento associados às explorações in-the-wild observadas, não há IOC público específico para esta CVE — a defesa prática é garantir que a versão instalada não seja vulnerável, não detecção pós-fato.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Use after free in Blink in Google Chrome prior to 89.0.4389.128 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
Affected products
Google · Chrome