← back
CVE-2019-7286highunder attackCWE-787

CVE-2019-7286

76Vexday Risk Score

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

ssvc Actcvss 7.8epss 16%
from disclosure to weapon0 days
Published on NVDDec 18
1st PoCMay 6
CISA KEV+887d
exploitation probability
16%top 3% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2022-06-13

Apply updates per vendor instructions.

Summary

Falha de corrupção de memória no framework Foundation do iOS, macOS, tvOS e watchOS que permite a um app malicioso local elevar privilégios no dispositivo. A CVE ganhou relevância não pelo CVSS (7.8, moderado para um catálogo cheio de RCEs remotos) mas por ter sido usada em ataques reais documentados — está no catálogo KEV da CISA como exploração confirmada e circula PoC pública.

Technical detail

O bug está no framework Foundation, componente base do runtime Objective-C/Swift usado por praticamente todo app e serviço do sistema nas plataformas Apple. A Apple descreve como 'memory corruption issue', corrigido com 'improved input validation' — categoria compatível com CWE-787 (out-of-bounds write) ou CWE-843 (type confusion), comuns em classes serializadas/objetos do Foundation (ex: NSKeyedUnarchiver e afins), mas a Apple não detalha a classe ou API exata afetada.

O vetor CVSS (AV:L/AC:L/PR:N/UI:R) indica que a exploração é local — o atacante precisa de código já em execução no dispositivo, não é algo disparável pela rede sozinho — e exige interação do usuário, mas não exige privilégio nem autenticação prévios. O impacto declarado é 'aplicação pode obter privilégios elevados', ou seja, escalonamento de privilégio local a partir de um processo com menos privilégio (tipicamente um app sandboxed) para um contexto mais privilegiado do sistema.

A descoberta é atribuída a um pesquisador anônimo, Clement Lecigne (Google Threat Analysis Group) e Ian Beer e Samuel Groß (Google Project Zero) — a mesma dupla de créditos aparece em CVE-2019-7287 (falha correlata no IOKit, com impacto de execução de código com privilégios de kernel), sugerindo que as duas foram descobertas na mesma investigação, não isoladamente.

How it’s exploited

Por si só, esta CVE não dá execução de código a um atacante remoto: ela eleva privilégios de um processo que já roda no dispositivo. Na prática, isso a torna um elo de cadeia de exploração — o estágio que seria usado depois de um comprometimento inicial (por exemplo, via um bug de renderização web ou de outro componente exposto a conteúdo remoto) para escapar do sandbox do app e ganhar mais controle sobre o sistema.

Ataques com esse padrão em iOS 12.1.2 foram documentados publicamente pelo Google Project Zero em agosto de 2019 (relatório sobre cadeias de exploit encontradas 'in the wild', usadas em sites comprometidos que atingiam visitantes indiscriminadamente — watering hole attack). A janela de correção da Apple (fevereiro de 2019, antes da divulgação pública em agosto) é consistente com o cenário de dia zero corrigido silenciosamente após descoberta de exploração ativa, o que também explica a presença no catálogo KEV da CISA.

A complexidade de exploração isolada da CVE-2019-7286 é baixa a moderada (é um bug de corrupção de memória em input validation, não uma lógica trivial), mas montar a cadeia completa — do vetor inicial de entrada até o escalonamento de privilégio e persistência — exige conhecimento de exploração de memória em Objective-C/Foundation e, historicamente, foi feito por atores com recursos de pesquisa significativos, não por script kiddies.

Versions

Affected
iOS anterior a 12.1.4; macOS Mojave anterior à 10.14.3 Supplemental Update (build 18D109); tvOS anterior a 12.2; watchOS anterior a 5.2.
Fixed in
iOS 12.1.4; macOS Mojave 10.14.3 Supplemental Update; tvOS 12.2; watchOS 5.2.

How to protect

Atualizar para as versões corrigidas: iOS 12.1.4, macOS Mojave 10.14.3 Supplemental Update (build 18D109), tvOS 12.2 e watchOS 5.2. Note que os patches para tvOS e watchOS saíram mais de um mês depois dos de iOS/macOS (25 e 27 de março de 2019, contra 7 de fevereiro de 2019) — dispositivos Apple TV e Apple Watch ficaram expostos por mais tempo mesmo após a correção estar disponível para iPhone/iPad/Mac.

Não há paliativo de configuração conhecido: a falha está no framework Foundation, usado por praticamente todo o sistema, e não há flag, entitlement ou restrição de sandbox que neutralize a corrupção de memória sem o patch do fornecedor. Em ambientes gerenciados (MDM), a única mitigação real é forçar a atualização mínima de OS nas políticas de compliance e bloquear enrollment/acesso corporativo a dispositivos abaixo dessas versões.

O que não funciona: restringir instalação de apps de fontes não oficiais reduz superfície de exposição inicial mas não corrige o bug em si — como o defeito é local e pode ser acionado por qualquer processo com código já em execução, controles de App Store/sideloading mitigam o vetor de entrada, não a vulnerabilidade.

How to detect

Não há assinatura de rede confiável: a exploração é local, ocorre dentro do dispositivo após um vetor de entrada separado, e não gera tráfego característico atribuível a esta CVE isoladamente. Em nível de host, crash logs ou relatórios de diagnóstico referenciando falhas no framework Foundation, ou processos de apps sandboxed apresentando comportamento de privilégio inconsistente com seu entitlement, são indícios indiretos — mas inespecíficos, já que corrupção de memória em Foundation pode ter causas benignas de bug também. Para detecção real de exploração dessa cadeia, o sinal mais confiável documentado foi a identificação dos sites comprometidos usados como watering hole pelo Google TAG, não telemetria do dispositivo vítima.

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 memory corruption issue was addressed with improved input validation. This issue is fixed in iOS 12.1.4, macOS Mojave 10.14.3 Supplemental Update. An application may be able to gain elevated privileges.
CVSS:3.1/AV:L/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.