← back
CVE-2019-8506highunder attackCWE-843

CVE-2019-8506

76Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 8.8epss 18%
from disclosure to weapon0 days
Published on NVDDec 18
1st PoCApr 3
CISA KEV+868d
exploitation probability
18%top 3% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2022-05-25

Apply updates per vendor instructions.

Summary

Falha de type confusion na engine WebKit (JavaScriptCore) explorável ao processar conteúdo web malicioso, permitindo execução arbitrária de código dentro do processo de renderização do Safari ou de qualquer app que embuta WebKit. Está no catálogo KEV da CISA como exploração confirmada e possui PoC pública, o que eleva sua relevância prática além do que o CVSS 8.8 já indica — mas o impacto real depende de encadeamento com um bug de sandbox escape/kernel para comprometer o dispositivo por completo.

Technical detail

A falha é um type confusion (CWE-843) na WebKit, reportado por Samuel Groß, da equipe Google Project Zero. Type confusion nesse contexto significa que o motor de JavaScript trata um objeto internamente como sendo de um tipo diferente do que ele realmente é — normalmente por erro de checagem em caminhos de otimização do JIT ou na manipulação de arrays/objetos JS —, e essa divergência entre o tipo esperado e o tipo real permite que o atacante manipule o layout de memória do objeto de forma controlada.

O atacante controla o conteúdo da página web (HTML/JS) processada pelo WebKit. Ao forçar o motor a interpretar um objeto sob um tipo incorreto, é possível ler e escrever memória fora dos limites originalmente alocados para aquele objeto, o que normalmente é usado como primitiva para escalar de corrupção de memória controlada até execução de código dentro do processo do WebKit.

A Apple corrigiu o problema com 'improved memory handling', sem detalhar o componente exato (nome de classe, arquivo ou commit) no advisory — informação típica de que a correção veio de patch interno ou de relatório direto do pesquisador, sem disclosure técnico público extenso por parte da Apple. O parágrafo oficial da Apple é o único texto de vendor disponível; não há writeup técnico detalhado do Project Zero associado especificamente a este CVE nas fontes consultadas.

How it’s exploited

O vetor é puramente web: a vítima precisa visitar uma página maliciosa (ou renderizar conteúdo web malicioso) usando Safari, WebKit em macOS, ou qualquer aplicação em iOS/tvOS/watchOS que use WKWebView/UIWebView subjacente ao WebKit vulnerável. O vetor CVSS confirma isso — AV:N (rede), AC:L (baixa complexidade), PR:N (sem autenticação), mas UI:R (interação do usuário é obrigatória: a vítima precisa abrir o link/página).

Na prática, exploits de type confusion em WebKit exigem heap grooming — preparar a memória do processo antes de disparar a confusão de tipo, para garantir que a corrupção caia sobre dados úteis ao atacante. Isso é technicamente não trivial, mas documentado o suficiente na literatura de exploração de JavaScriptCore para que pesquisadores e grupos com capacidade técnica o repliquem; a existência de PoC pública reduz a barreira de reprodução, embora não signifique necessariamente um exploit weaponizado pronto para uso em massa.

O resultado da exploração isolada é execução de código dentro do processo de renderização do WebKit, que roda sandboxed tanto em macOS quanto em iOS/tvOS/watchOS. Para comprometimento completo do dispositivo (fora da sandbox), o atacante normalmente precisa encadear esta falha com uma vulnerabilidade adicional de escape de sandbox ou de kernel — padrão visto nas mesmas atualizações de março de 2019, que corrigiram simultaneamente vários bugs de kernel e de sandbox no iOS/tvOS/watchOS. A presença no catálogo KEV da CISA indica exploração confirmada em campo, mas os detalhes públicos sobre a campanha específica não constam nas fontes analisadas aqui.

Versions

Affected
iOS anterior a 12.2; tvOS anterior a 12.2; watchOS anterior a 5.2; Safari anterior a 12.1 em macOS Sierra 10.12.6, macOS High Sierra 10.13.6 e macOS Mojave 10.14.4; iTunes para Windows anterior a 12.9.4; iCloud para Windows anterior a 7.11. A Apple não publicou o limite inferior exato de versões vulneráveis, apenas o corte de correção.
Fixed in
iOS 12.2; tvOS 12.2; watchOS 5.2; Safari 12.1 (macOS Sierra 10.12.6, High Sierra 10.13.6, Mojave 10.14.4); iTunes 12.9.4 para Windows; iCloud para Windows 7.11 — todas lançadas em 25-27 de março de 2019.

How to protect

A correção definitiva é atualizar para as versões que a Apple listou: iOS 12.2, tvOS 12.2, watchOS 5.2, Safari 12.1 (nas versões de macOS suportadas: Sierra 10.12.6, High Sierra 10.13.6 e Mojave 10.14.4), iTunes 12.9.4 para Windows, e iCloud para Windows 7.11. Não há patch parcial ou flag de configuração que neutralize o bug sem atualizar o binário do WebKit/JavaScriptCore.

Como paliativo real na ausência de atualização, a única redução de superfície de ataque efetiva é desabilitar a execução de JavaScript no navegador ou restringir a navegação a domínios confiáveis — mas isso quebra a maioria dos sites modernos e não é uma mitigação suportada oficialmente pela Apple, apenas um controle compensatório de última instância em ambientes controlados (ex.: kiosks, dispositivos gerenciados). Filtragem de URL/proxy web e EDR com detecção de comportamento anômalo em processos WebKit ajudam a reduzir exposição, mas não eliminam o risco.

Não funciona como mitigação: manter o app Safari atualizado sem atualizar o sistema operacional subjacente, já que o WebKit do sistema é compartilhado por todos os apps que usam WKWebView — atualizar apenas o app não corrige a engine do SO em versões antigas de iOS/tvOS/watchOS.

How to detect

Não há assinatura ou IOC específico publicado pela Apple para este CVE. Sinais indiretos possíveis: crashes ou relatórios de crash (crashd/ReportCrash em macOS, ou logs equivalentes em iOS) do processo do WebKit/JavaScriptCore com padrões de corrupção de memória incomuns, especialmente após visita a domínios suspeitos; telemetria de proxy/gateway web mostrando acesso a páginas com JavaScript fortemente obfuscado seguido de instabilidade do navegador. Como a exploração ocorre client-side dentro do processo do navegador e o PoC público não foi analisado nas fontes consultadas, não há um padrão de rede ou de log confiável e amplamente divulgado para detectar tentativas — a ausência desse sinal é, em si, informação relevante para quem depende de monitoramento perimetral.

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.
A type confusion issue was addressed with improved memory handling. This issue is fixed in iOS 12.2, tvOS 12.2, watchOS 5.2, Safari 12.1, iTunes 12.9.4 for Windows, iCloud for Windows 7.11. Processing maliciously crafted web content may lead to arbitrary code execution.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.