CVE-2018-17463
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Falha de type confusion no motor V8 do Chrome (Chromium), causada por uma anotação incorreta de side effect no compilador otimizador TurboFan, que permite a um atacante remoto executar código arbitrário dentro do sandbox do renderer a partir de uma página HTML maliciosa. O CVSS de 8.8 reflete o dano potencial de uma RCE, mas a execução fica confinada ao sandbox do processo renderer — para comprometer o sistema além disso, o atacante precisa encadear um bug de escape de sandbox separado (como o CVE-2018-17462, corrigido no mesmo lote). Entrou no catálogo KEV da CISA só em 2022, quatro anos depois da publicação, indicando evidência de exploração real que surgiu tardiamente.
Detalhamento técnico
O TurboFan, compilador JIT otimizador do V8, decide quais otimizações agressivas pode aplicar com base em anotações que descrevem se uma função builtin tem 'side effects' (efeitos colaterais observáveis, como disparar getters, valueOf ou traps de Proxy definidos pelo usuário). Quando uma dessas anotações está incorreta — marcando como livre de side effects uma operação que na verdade pode invocar callback controlado pelo atacante — o compilador aplica suposições de tipo e forma de objeto que deixam de ser válidas no momento em que o código otimizado executa.
Isso resulta em type confusion (CWE-843): o motor trata um valor JavaScript como se fosse de um tipo diferente do que realmente é, permitindo leitura e escrita fora dos limites esperados na heap do processo renderer. A partir daí, técnicas conhecidas de exploração de V8 (corrupção de metadados de objetos, forjar referências) permitem transformar a corrupção de memória em execução de código arbitrário dentro do contexto do renderer.
O Google atribui o bug ao pesquisador Samuel Gross, reportado via o programa SecuriTeam Secure Disclosure da Beyond Security em 25/09/2018 (bug interno 888923). O advisory oficial não detalha qual builtin especificamente tinha a anotação errada; a referência da PacketStorm associada ao mesmo lote de correção (Chrome 67-69) menciona Object.create como vetor de type confusion, sugerindo que a superfície envolve a manipulação de protótipos/objetos via essa API, mas isso não é confirmado como descrição oficial do CVE-2018-17463 especificamente.
O atacante controla o conteúdo da página HTML/JavaScript servida à vítima — é o vetor completo de entrada. Não há necessidade de estado autenticado, configuração não padrão do navegador ou plugins habilitados.
Como é explorada
O vetor é uma página HTML/JavaScript maliciosa servida remotamente; a vítima precisa visitar a página (UI:R no vetor CVSS — clique em link, abertura de anúncio malicioso, etc.). Não há pré-requisito de autenticação nem de configuração especial do Chrome: a versão vulnerável basta. A complexidade de exploração (AC:L segundo o CVSS) é considerada baixa em termos de condições de ataque, mas construir um exploit funcional de type confusion em V8 exige conhecimento técnico avançado de engenharia de exploração de JIT — não é trivial de reproduzir sem PoC pronta.
O resultado direto da exploração é execução de código dentro do processo renderer, que roda em sandbox. Isso já é suficiente para roubo de dados dentro da sessão do navegador, mas não dá controle total do sistema operacional. Ataques observados historicamente contra V8 desse período combinam esse tipo de RCE com uma segunda falha de sandbox escape (o mesmo update do Chrome 70 corrigiu CVE-2018-17462, um escape via AppCache) para obter execução fora do sandbox.
Existe módulo Metasploit e PoC pública referenciada (PacketStorm, cobrindo Chrome 67-69). A entrada no catálogo KEV da CISA confirma exploração real, mas foi adicionada em 08/06/2022 — muito depois da divulgação original —, sem atribuição de campanha ou ator específico nas fontes disponíveis, e sem indicação de uso em ransomware.
Versões
Como se proteger
A correção é atualizar o Chrome/Chromium para a versão 70.0.3538.64 (lançamento inicial) ou 70.0.3538.67 (build estável consolidada, é a versão distribuída em pacotes downstream). Distribuições Linux publicaram backports no mesmo pacote: Red Hat (chromium-browser 70.0.3538.67-1.el6_10, RHSA-2018:3004), Gentoo (>=www-client/chromium-70.0.3538.67, GLSA 201811-10) e Debian (DSA-4330). Não há flag de configuração, política de grupo ou parâmetro de linha de comando documentado pelo fornecedor que mitigue essa falha sem atualizar o binário — o bug está no compilador JIT interno do V8.
O Gentoo declara explicitamente 'não há workaround conhecido'. Desabilitar JavaScript neutraliza o vetor, mas quebra a usabilidade da maioria dos sites e não é uma mitigação prática recomendada pelo fornecedor. Isolamento de processo (site isolation, já padrão desde versões anteriores do Chrome) reduz o dano de um comprometimento de renderer, mas não impede a exploração da falha de type confusion em si — apenas limita o que o atacante alcança sem uma segunda falha de sandbox escape.
Dado que o CVE está no catálogo KEV, qualquer ambiente que ainda rode builds anteriores a 70.0.3538.64/67 deve tratar a atualização como prioritária, independentemente da idade da CVE — o prazo de correção definido pela CISA para agências federais dos EUA foi 22/06/2022, refletindo a política de correção rápida mesmo para vulnerabilidades antigas quando há evidência de exploração ativa.
Como detectar
Não há assinatura de rede ou IOC confiável divulgado publicamente para esse CVE especificamente — a exploração ocorre inteiramente no lado cliente, via JavaScript entregue por HTTPS/HTTP normal, sem padrão de tráfego distintivo. Em ambientes corporativos, o sinal mais realista é indireto: crashes anômalos ou comportamento inesperado do processo renderer do Chrome (sandboxed), especialmente em conjunto com tentativas subsequentes de escalonamento ou escape de sandbox, capturados por EDR ou pelos próprios logs de crash do navegador. Sem telemetria detalhada do V8/TurboFan, não é possível diferenciar com confiança uma tentativa de exploração de um crash legítimo.