← back
CVE-2019-5786mediumunder attackCWE-416

CVE-2019-5786

95Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 6.5epss 62%
from disclosure to weapon0 days
Published on NVDJun 27
1st PoCMar 20
metasploitMar 21
CISA KEV+1061d
exploitation probability
62%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
5 public exploit(s)
Action required by CISAfederal deadline: 2022-06-13

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

Affected
Google Chrome anterior à versão 72.0.3626.121 (Windows, Mac e Linux).
Fixed in
Google Chrome 72.0.3626.121 e versões posteriores.

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.

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.
Object lifetime issue in Blink in Google Chrome prior to 72.0.3626.121 allowed a remote attacker to potentially perform out of bounds memory access via a crafted HTML page.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Affected products
Google · Chrome
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.