CVE-2023-3079
Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.
Apply updates per vendor instructions.
Resumo
Falha de type confusion no motor JavaScript V8, usada no Chrome (e em qualquer produto que embuta o Chromium/V8, como QtWebEngine) antes da versão 114.0.5735.110. O Google confirma exploração ativa como 0-day antes do patch — está no catálogo KEV da CISA — e o CVSS 8.8 reflete corretamente o risco: basta a vítima abrir uma página HTML maliciosa para o atacante corromper heap no processo renderer.
Detalhamento técnico
O bug (CWE-843, Type Confusion) foi catalogado como crbug.com/1450481 e reportado por Clément Lecigne, do Threat Analysis Group do Google, em 1º de junho de 2023. O Google manteve os detalhes técnicos restritos — prática padrão para bugs de V8 explorados in the wild, para não facilitar réplicas antes que a base de usuários atualize — então não há, nas fontes públicas oficiais, a rotina exata do V8 afetada ou o tipo de objeto confundido.
Type confusion em motores JS geralmente ocorre quando o compilador JIT (TurboFan, no caso do V8) faz uma suposição sobre o tipo/shape de um objeto com base em um checkpoint anterior, mas o objeto muda de tipo (via manipulação de protótipo, redefinição de propriedade, ou efeito colateral de um getter/setter) antes do código otimizado ser executado. O motor então acessa a memória usando o layout do tipo errado, lendo ou escrevendo campos fora do que o objeto real possui — isso corrompe o heap do processo renderer de forma controlável pelo atacante.
O atacante controla o conteúdo da página HTML/JavaScript servida à vítima, incluindo a lógica que induz a confusão de tipo. Esse controle é suficiente para transformar a corrupção de memória em execução de código dentro do processo renderer, mas não inclui, por si só, escape do sandbox do Chrome — esse é tipicamente um segundo bug encadeado.
Como é explorada
Vetor: página web maliciosa ou comprometida, servida via link (phishing, malvertising, watering hole) — não requer autenticação, apenas que a vítima abra a URL em um Chrome vulnerável (UI:R no vetor CVSS reflete exatamente essa interação). Não há pré-condição de configuração não padrão: o V8 processa JavaScript por padrão em qualquer instalação.
O Google confirmou publicamente, no próprio release note, que um exploit para esta CVE existia in the wild antes da correção — por isso a entrada no catálogo KEV da CISA. O padrão histórico de bugs reportados pelo TAG do Google é uso em campanhas direcionadas (spyware comercial, vigilância) contra alvos específicos, não exploração massiva e indiscriminada — mas isso não está confirmado nas fontes aqui listadas para este CVE específico, apenas o fato da exploração ativa.
Há PoCs/write-ups públicos catalogados no Packet Storm com os títulos "Chrome V8 Type Confusion" e "Chrome V8 Type Confusion New Sandbox Escape" — o segundo título sugere explicitamente que a exploração completa (fuga do sandbox do Chrome) depende de uma vulnerabilidade adicional encadeada, não apenas do type confusion isolado. Isso é consistente com a arquitetura de sandbox do Chrome: um RCE no renderer sozinho normalmente não compromete o sistema hospedeiro sem um segundo bug de escape.
Versões
Como se proteger
Atualizar para Chrome 114.0.5735.106 ou posterior (Mac/Linux) e 114.0.5735.110 ou posterior (Windows) resolve o problema — é a única correção real; não há flag de configuração ou controle compensatório documentado pelo fornecedor. Distribuições Linux que empacotam Chromium seguiram o mesmo corte: Fedora 37 e 38 corrigiram via pacote chromium-114.0.5735.106-1, e o Gentoo corrigiu QtWebEngine (que embute Chromium/V8) na versão >=5.15.10_p20230623 (GLSA 202311-11).
Se a atualização não for imediatamente viável, desabilitar JavaScript neutraliza a via de exploração (o V8 só processa página com JS ativo), mas quebra a maioria dos sites modernos — é paliativo de última instância, não uma mitigação de produção viável na maioria dos ambientes. Não há mitigação via WAF ou controle de rede: a exploração ocorre inteiramente no cliente, dentro do processo do navegador, então filtros de borda não veem nem bloqueiam a lógica JS maliciosa embutida na página.
Há ainda um segundo GLSA do Gentoo referenciado (202401-34) associado a este CVE, mas o conteúdo específico dessa advisory não foi lido nas fontes usadas para esta página — trate como referência adicional de rastreamento de pacote, não como fonte de versão corrigida confirmada aqui.
Como detectar
Não há assinatura de rede confiável: a exploração ocorre via JavaScript executado no cliente dentro de uma página HTML normal, sem payload de rede distintivo antes de chegar ao V8. Nos endpoints, o sinal mais próximo de indício é crash ou encerramento anômalo do processo renderer do Chrome correlacionado com navegação a um domínio incomum ou recém-registrado — mas isso é fraco e gera muitos falsos positivos/negativos. Como os detalhes do bug foram mantidos restritos pelo Google e não há IOC de campanha publicado nas fontes consultadas, trate qualquer detecção como best-effort baseada em telemetria de EDR de navegador, não em regra de IDS/WAF.