← back
CVE-2016-4656highunder attackCWE-787

CVE-2016-4656

91Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 7.8epss 21%
from disclosure to weapon649 days
Published on NVDAug 25
1st PoC+649d
metasploitAug 25
CISA KEV+2098d
exploitation probability
21%top 3% of all CVEs
observed exploitation
yesCISA + VulnCheck
2 public exploit(s)
Action required by CISAfederal deadline: 2022-06-14

Apply updates per vendor instructions.

Summary

Falha de corrupção de memória no kernel do iOS (antes da versão 9.3.5) que permite escalonamento de privilégios: um app malicioso já em execução no dispositivo consegue executar código com privilégios de kernel ou causar negação de serviço. É a peça central da cadeia "Trident", usada pelo spyware Pegasus (NSO Group) para instalar vigilância persistente no iPhone do ativista Ahmed Mansoor em 2016 — não é uma falha teórica, foi explorada in-the-wild antes mesmo da divulgação pública.

Technical detail

A Apple descreve a causa como "memory corruption issue... addressed through improved memory handling", sem detalhar o subsistema exato do kernel afetado nem o tipo preciso de bug (uso após liberação, overflow, etc.). O CWE atribuído pela CISA no catálogo KEV é CWE-264 (controle de permissão/privilégio incorreto), consistente com uma falha que permite a um processo sem privilégios corromper estruturas de memória do kernel e ganhar execução em contexto privilegiado.

O vetor CVSS (AV:L, PR:N, UI:R) indica que o bug em si é local: o atacante precisa que código atacante (o "crafted app") já esteja rodando no dispositivo. Ele não é, isoladamente, um vetor remoto — é a segunda etapa de uma cadeia de exploração. Na campanha real documentada por Citizen Lab e Lookout, a entrega inicial acontecia via WebKit (CVE-2016-4657), explorado ao abrir um link malicioso no Safari; a partir da execução de código no contexto do navegador, os atacantes usavam CVE-2016-4655 (vazamento de informação de kernel, por validação insuficiente de entrada) para mapear o layout de memória e então CVE-2016-4656 para corromper memória do kernel e obter execução com privilégios totais, essencialmente um jailbreak silencioso usado para instalar o spyware.

As referências técnicas mais detalhadas (blog da sektioneins e writeup de jndok) fazem engenharia reversa da correção da Apple para reconstruir o bug, mas esse conteúdo não foi verificado diretamente aqui — o texto oficial da Apple permanece deliberadamente vago sobre o mecanismo exato.

How it’s exploited

Na prática documentada, a exploração começou com o envio de um SMS/iMessage contendo um link para o alvo (Ahmed Mansoor, defensor de direitos humanos nos Emirados Árabes Unidos). O clique abria o Safari, que disparava a falha WebKit (CVE-2016-4657) para execução de código no processo do navegador — esse é o único passo que exige interação do usuário e nenhuma outra pré-condição de configuração. A partir daí, a cadeia usava CVE-2016-4655 e CVE-2016-4656 sequencialmente, dentro do próprio dispositivo, para escapar do sandbox do WebKit e escalar para privilégios de kernel, sem exigir nenhuma ação adicional da vítima.

O módulo Metasploit público (webkit_trident) implementa a cadeia completa das três CVEs como exploit remoto contra iOS, incluindo um servidor HTTP que entrega a página com o exploit WebKit e, em seguida, os binários de escalonamento de privilégio. Isso reduz a barreira técnica de reprodução — qualquer pessoa com acesso ao módulo pode montar um ataque análogo contra versões não corrigidas, embora hardware/versão de iOS específicos afetem a confiabilidade do exploit binário.

O resultado final é execução de código arbitrário em contexto de kernel, equivalente a jailbreak, permitindo instalação de spyware persistente (leitura de mensagens, chamadas, GPS, microfone/câmera) sem sinal visível para o usuário. Está no catálogo KEV da CISA desde maio de 2022, retroativamente, reconhecendo a exploração ativa histórica — não há indício de campanhas novas contra a CVE isoladamente hoje, já que exige iOS não atualizado há quase uma década.

Versions

Affected
iOS anterior à versão 9.3.5, em iPhone 4s e posteriores, iPad 2 e posteriores, iPod touch (5ª geração) e posteriores.
Fixed in
iOS 9.3.5 (lançado em 25 de agosto de 2016), corrigido junto com CVE-2016-4655 e CVE-2016-4657.

How to protect

A correção definitiva é atualizar para iOS 9.3.5 ou qualquer versão posterior — a Apple corrigiu as três vulnerabilidades da cadeia Trident (CVE-2016-4655, 4656, 4657) nesse release, em 25 de agosto de 2016. Dispositivos suportados pelo iOS 9.3.5 (iPhone 4s e posterior, iPad 2 e posterior, iPod touch 5ª geração e posterior) devem estar nessa versão ou mais recente; todo o ecossistema de dispositivos foi migrado para versões muito mais novas do iOS há anos, então na prática qualquer aparelho em uso ativo e com atualizações automáticas habilitadas já está fora de risco.

Não existe paliativo de configuração para esta falha específica — é um bug de kernel corrigido via patch binário, não uma opção que pode ser desligada. Para hardware legado que não recebe mais atualizações (ex.: iPhone 4 ou anterior, não listados no boletim), a única mitigação real é a substituição do dispositivo; jailbreak ou apps de terceiros não corrigem a falha e frequentemente ampliam a superfície de ataque.

O mito a descartar: acreditar que evitar "apps desconhecidos" da App Store é suficiente. Nesta cadeia, o vetor de entrega foi um link no navegador, não um app instalado via loja — o "crafted app" da descrição oficial se refere ao código explorado em runtime, não a um aplicativo publicado.

How to detect

Não há assinatura de rede confiável para a exploração do bug de kernel isoladamente, já que a corrupção de memória ocorre localmente no dispositivo após a etapa inicial via WebKit. Os indicadores publicados por Citizen Lab e Lookout na época (domínios e infraestrutura ligados ao NSO Group usados para entrega do link malicioso) são o sinal mais próximo de detecção retroativa, mas são específicos daquela campanha e datam de 2016 — não servem como detecção genérica da vulnerabilidade em si.

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.
The kernel in Apple iOS before 9.3.5 allows attackers to execute arbitrary code in a privileged context or cause a denial of service (memory corruption) via a crafted app.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.