CVE-2021-1789
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply updates per vendor instructions.
Resumo
Falha de type confusion no motor de renderização WebKit, explorável ao processar conteúdo web malicioso em Safari, WebKit embutido em apps (WKWebView) e no WebKitGTK usado em navegadores Linux. Não exige autenticação, mas exige que a vítima abra uma página ou conteúdo controlado pelo atacante — a barreira real de exploração é a interação do usuário, não uma configuração exótica. Está no catálogo KEV da CISA, mas o advisório da Apple para este lote de correções (26/01/2021) não credita CVE-2021-1789 especificamente como 'possivelmente explorada ativamente' — esse selo, no mesmo pacote, foi dado a CVE-2021-1870/1871.
Detalhamento técnico
A causa raiz é confusão de tipo (CWE-843) em algum componente do WebKit — o mecanismo típico é um objeto JavaScript/DOM alocado como um tipo sendo posteriormente tratado pelo motor como se fosse de outro tipo, o que permite ao atacante manipular o layout de memória e forjar ponteiros ou tamanhos de objeto que o engine assume corretos. O advisório oficial da Apple usa a formulação genérica 'a type confusion issue was addressed with improved state handling', sem indicar o arquivo, classe ou subsistema exato (JavaScriptCore, DOM binding, layout engine etc.).
Não localizamos análise técnica pública (writeup de pesquisador, PoC documentado ou disclosure detalhado) que reconstrua o caminho de código exato dessa CVE especificamente — diferente de outras falhas do mesmo lote que tiveram cobertura de imprensa técnica por serem 'in the wild'. Isso limita o que se pode afirmar com segurança: sabe-se a classe da falha (type confusion), o componente afetado (WebKit) e o impacto declarado (execução arbitrária de código ao processar conteúdo web malicioso), mas não o vetor de disparo interno.
O que o atacante controla, na prática, é o conteúdo HTML/JavaScript/CSS servido à vítima — página, anúncio, iframe ou qualquer superfície que o motor WebKit renderize. É esse conteúdo que aciona a sequência de estados inconsistente que leva à confusão de tipo.
Como é explorada
O vetor é conteúdo web malicioso: uma página, um iframe embutido, ou qualquer recurso renderizado por WebKit (Safari, WKWebView em apps iOS/macOS, ou WebKitGTK em distros Linux). Não há exigência de autenticação (PR:N no CVSS), mas há exigência de interação do usuário (UI:R) — a vítima precisa abrir/carregar o conteúdo, o que normalmente ocorre via engenharia social, malvertising ou comprometimento de site legítimo.
Complexidade de ataque é classificada como baixa (AC:L) pelo CVSS, mas na prática confusões de tipo em engines JS exigem heap grooming e engenharia de exploit não trivial para virar execução de código confiável — normalmente encadeada com um bug de sandbox escape separado para sair do processo de renderização e comprometer o sistema todo, já que o WebContent process do WebKit roda sandboxed em iOS/macOS.
A CISA lista esta CVE no catálogo KEV, o que indica exploração confirmada em algum momento, mas a documentação pública específica (writeup independente, relatório de campanha) não foi encontrada nas fontes consultadas. Trate a inclusão no KEV como sinal de risco real e priorize a correção, mesmo sem detalhe de campanha disponível.
Versões
Como se proteger
A correção é atualizar para as versões fixas do fornecedor: iOS/iPadOS 14.4, macOS Big Sur 11.2, Security Update 2021-001 para Catalina e para Mojave, tvOS 14.4, watchOS 7.3 e Safari 14.0.3 (para as versões de macOS que recebem Safari separadamente). Para distribuições Linux que empacotam WebKitGTK (mecanismo que compartilha a mesma base de código e recebeu a mesma CVE), a correção está em WebKitGTK 2.30.6 ou 2.32.0, conforme confirmado pelos advisories de Fedora e Gentoo.
O advisory do Gentoo é explícito: 'there is no known workaround at this time'. Não há flag de configuração ou controle compensatório documentado que neutralize a falha sem atualizar o binário do WebKit — desativar JavaScript reduz a superfície de ataque na maioria dos casos práticos de exploração de type confusion em engines web, mas não é uma mitigação garantida (o bug pode ser alcançável por outros caminhos internos do parser/DOM) e quebra funcionalidade da maioria dos sites.
Mito a descartar: atualizar apenas o Safari sem atualizar o SO (em versões antigas de macOS como Catalina/Mojave) resolve o componente Safari, mas o WebKit também é usado por outros processos do sistema (Mail, Mensagens, WKWebView de apps de terceiros) — por isso a Apple distribuiu Security Update dedicado além do pacote do Safari.
Como detectar
Não há assinatura de rede confiável: o conteúdo malicioso trafega como HTML/JS/CSS comum, tipicamente sob TLS, indistinguível de tráfego legítimo sem inspeção de conteúdo específica ao payload — que não foi publicada para esta CVE. No endpoint, sinais possíveis incluem crashes recorrentes ou inesperados do processo de renderização do WebKit (com.apple.WebKit.WebContent no macOS/iOS, WebKitWebProcess no Linux) e crash logs com padrões de corrupção de heap, mas isso é indicativo genérico de exploração de memória em engines de browser, não específico desta CVE. Sem PoC público ou IOC de campanha documentado nas fontes consultadas, a detecção prática depende de EDR observando comportamento anômalo pós-renderização (spawn de processo filho inesperado a partir do WebContent process) mais do que de assinatura direta da falha.