CVE-2019-5786
Patch now. It under exploitation confirmed by CISA and has a working public exploit.
Apply updates per vendor instructions.
Summary
Use-after-free no componente FileReader do Blink (motor de renderização do Chrome), que permite acesso a memória fora dos limites válidos a partir de uma página HTML maliciosa. A falha foi corrigida silenciosamente antes da divulgação pública porque o Google já tinha relatos de exploração ativa em fevereiro de 2019 — está no catálogo KEV da CISA por isso, não por especulação.
Technical detail
A vulnerabilidade é um use-after-free (CWE-416) no objeto FileReader dentro do Blink, o motor de renderização usado pelo Chrome. Um FileReader é liberado da memória mas o código mantém uma referência a ele; se essa referência for usada depois da liberação, o atacante pode manipular o conteúdo da memória recém-alocada naquele mesmo espaço para forjar um objeto controlado, abrindo caminho para leitura/escrita fora dos limites (out-of-bounds).
O Google não publicou detalhes de implementação do bug além do nome do componente (FileReader) e do tipo de falha (object lifetime issue / use-after-free), mantendo os detalhes do crbug.com/936448 restritos por padrão de divulgação pós-exploração ativa. O reporte veio de Clement Lecigne, do Threat Analysis Group (TAG) do Google, equipe que rotineiramente rastreia campanhas de exploração patrocinadas por estados ou de alto perfil — isso por si só é um sinal indireto de que o achado não foi trivial de red team interno.
O vetor de entrada é uma página HTML/JavaScript arbitrária que manipula o ciclo de vida de um objeto FileReader de forma a acionar a condição de corrida entre liberação e uso. Não há indicação nas fontes de que a falha dependa de APIs privilegiadas ou de permissões especiais do site — só de o Chrome renderizar a página.
How it’s exploited
O vetor prático é o usuário visitar (ou ser levado a visitar) uma página web controlada pelo atacante — nenhuma autenticação, nenhuma configuração fora do padrão é necessária além de estar usando uma versão vulnerável do Chrome ou de um navegador baseado em Chromium/Blink não corrigido. A interação do usuário exigida (UI:R no vetor CVSS) é basicamente carregar a página, o que em campanhas reais costuma vir de link em e-mail, anúncio malicioso ou redirecionamento.
O impacto isolado dessa CVE é corrupção de memória dentro do processo de renderização, o que na prática dá ao atacante execução de código dentro do sandbox do Chrome. Historicamente, falhas desse tipo em Blink são usadas como primeira etapa de uma cadeia de exploração, combinadas com uma segunda falha de escape de sandbox ou escalação de privilégio no sistema operacional para obter execução completa fora do navegador — mas isso não está documentado nas fontes consultadas aqui, então não deve ser tratado como fato confirmado desta CVE especificamente.
O próprio advisory do Google confirma que havia relatos de exploit em uso real antes da correção ser lançada ("Google is aware of reports that an exploit for CVE-2019-5786 exists in the wild"), o que justificou push emergencial da versão 72.0.3626.121. A presença no catálogo KEV da CISA (adicionada em 23/05/2022, com prazo de correção em 13/06/2022) confirma exploração documentada, embora a data de inclusão seja bem posterior à divulgação original — reflete o processo de catalogação retroativa da CISA, não uma nova onda de ataques em 2022.
Versions
How to protect
Atualizar o Google Chrome para a versão 72.0.3626.121 ou posterior elimina a falha. Qualquer navegador baseado em Chromium (Edge, Opera, Brave, Vivaldi etc.) que não tenha incorporado o patch correspondente do Blink na mesma época também está exposto — o fornecedor do Chrome não cobre esses forks nas suas notas de release, então é preciso verificar o changelog de cada um separadamente.
Não há paliativo de configuração real: a falha está no motor de renderização, então desativar JavaScript de forma ampla reduziria a superfície mas quebraria a maioria dos sites e não é uma mitigação suportada oficialmente. Isolamento por sandbox do sistema operacional (contas de baixo privilégio, containers) reduz o impacto de uma exploração bem-sucedida mas não impede a corrupção de memória em si.
Dado que essa CVE tem mais de cinco anos e patch disponível há tempo, o cenário de risco relevante hoje é ambiente legado não atualizado, dispositivos embarcados com Chromium fixo, ou builds customizados de navegador que nunca receberam o backport. Não há razão legítima para manter uma instalação vulnerável a essa CVE em 2024+.
How to detect
As fontes consultadas não trazem assinatura de rede, IOC de arquivo ou padrão de log específico para essa exploração — o Google não divulgou detalhes técnicos do exploit observado in the wild, apenas confirmou sua existência. Na prática, detecção de exploração de use-after-free em motor de renderização de navegador depende de telemetria de EDR observando comportamento pós-exploração (spawn de processo suspeito a partir do processo de renderização do Chrome, crash inesperado do renderer seguido de atividade anômala) em vez de assinatura estática, já que o vetor de entrada é HTML/JS arbitrário sem estrutura fixa reconhecível.