← back
CVE-2016-4655mediumunder attack

CVE-2016-4655

95Vexday Risk Score

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

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

Apply updates per vendor instructions.

Summary

Falha de validação no kernel do iOS que permite a uma aplicação instalada no dispositivo ler memória do kernel além do que deveria — vazamento de informação sensível (CWE-200), não execução de código. Importa porque foi o primeiro elo da cadeia "Trident", usada pelo spyware Pegasus (NSO Group) para comprometer o iPhone do ativista Ahmed Mansoor em 2016, documentada por Citizen Lab e Lookout. Isoladamente o CVSS de 5.5 é modesto, mas encadeada com CVE-2016-4656 (escalada de privilégio no kernel) e CVE-2016-4657 (RCE no WebKit) resultava em jailbreak remoto silencioso a partir de um único clique em link.

Technical detail

O problema está na camada de validação de entrada do kernel XNU do iOS: uma função aceita parâmetros controlados pela aplicação sem sanitização adequada, permitindo que o processo leia endereços de memória do kernel fora do que deveria estar acessível a um app sandboxed. A Apple descreve como "validation issue... addressed through improved input sanitization", sem detalhar a rotina exata — não há confirmação pública de qual syscall ou driver contém o bug primário.

O vazamento não dá controle de execução por si só; ele serve como primitiva de leitura arbitrária de memória do kernel, usada para desreferenciar KASLR (Kernel Address Space Layout Randomization) e obter endereços base necessários para o exploit de escalada de privilégio seguinte (CVE-2016-4656). Na cadeia Trident documentada pela sektioneins e por pesquisadores independentes (jndok, PhoenixNonce), CVE-2016-4655 é o passo que converte a execução de código no contexto do Safari/WebKit em conhecimento do layout de memória do kernel, pré-requisito para o passo final de root.

O CWE-200 (Information Exposure) atribuído pela CISA reflete exatamente isso: não há corrupção de memória nesta CVE específica — a corrupção de memória fica nas outras duas do trio.

How it’s exploited

Pré-requisito real: uma aplicação maliciosa já em execução no dispositivo, ou — no caso documentado — JavaScript executado dentro do WebKit após exploração da CVE-2016-4657 via um link malicioso aberto no Safari. Não há exploração remota direta sem esse passo anterior; a CVE-2016-4655 sozinha exige capacidade de rodar código nativo/app no aparelho, então em ambientes reais ela nunca apareceu isolada — sempre como elo do chain Trident.

O uso documentado (Citizen Lab, agosto de 2016) foi via SMS com link disfarçado enviado a um alvo específico (Ahmed Mansoor); ao tocar no link, o Safari carregava a página que explorava CVE-2016-4657 para RCE em WebKit, depois CVE-2016-4655 para vazar memória do kernel e quebrar KASLR, e CVE-2016-4656 para escalar a arbitrary code execution ao nível de kernel, instalando o spyware Pegasus com persistência e jailbreak silencioso — sem interação adicional da vítima.

Existe módulo Metasploit público (EDB-ID 44836, autoria de qwertyoruiop/siguza/tihmstar, integração timwr) que reimplementa a cadeia completa contra alvo ARM64, e está no catálogo KEV da CISA com confirmação de exploração ativa. A CVE está no catálogo desde maio de 2022, muito depois da exploração original de 2016 — reflete a política da CISA de retroincluir vulnerabilidades históricas com exploração confirmada, não uma onda nova de ataques.

Versions

Affected
iOS anterior a 9.3.5 (todos os dispositivos suportados: iPhone 4s e posteriores, iPad 2 e posteriores, iPod touch 5ª geração e posteriores); adicionalmente, builds do iOS 10 anteriores a 10.0.1 nos dispositivos iPhone 5 e posteriores, iPad 4ª geração e posteriores, iPod touch 6ª geração e posteriores.
Fixed in
iOS 9.3.5 (25/08/2016); iOS 10.0.1 (13/09/2016) para o ramo iOS 10.

How to protect

Atualizar para iOS 9.3.5 ou posterior resolve a vulnerabilidade nos dispositivos que ficaram no ramo iOS 9. Dispositivos que instalaram builds do iOS 10 antes do lançamento estável precisam do iOS 10.0.1, que a Apple listou separadamente como corrigindo a mesma CVE para iPhone 5 e posterior, iPad 4ª geração e posterior, iPod touch 6ª geração e posterior — ou seja, o bug também estava presente em builds iniciais do iOS 10 e foi corrigido de novo nesse release.

Não existe paliativo de configuração: é uma falha de kernel, corrigida apenas por patch do sistema operacional. Dado que dispositivos afetados (iPhone 4s+, iPad 2+, iPod touch 5ª geração+) já esgotaram suporte de atualização há anos, hardware que não recebe mais iOS acima de 9.3.5/10.0.1 permanece permanentemente vulnerável — a única mitigação real nesse caso é a substituição do dispositivo ou controles compensatórios de rede (isolamento, MDM que bloqueie instalação de apps não confiáveis) que reduzem a chance do primeiro passo da cadeia (execução de código via WebKit) ocorrer.

Não funciona como mitigação: bloquear apenas a CVE-2016-4657 (WebKit) sem corrigir as duas do kernel deixa o dispositivo exposto caso o atacante consiga rodar código nativo por outro vetor (app fora da loja oficial, exploit físico). As três CVEs do Trident precisam ser tratadas como uma unidade de risco.

How to detect

Não há assinatura de rede confiável para este CVE isolado — o vazamento de memória do kernel ocorre localmente, sem tráfego característico. Em nível de dispositivo, indicadores associados à cadeia Trident/Pegasus incluem instalação de perfis de configuração não solicitados, presença de arquivos e processos documentados pela Lookout/Citizen Lab no relatório "Trident/Pegasus" (blog.lookout.com), e jailbreak não autorizado detectável por ferramentas de integridade de sistema (MVT — Mobile Verification Toolkit, criada posteriormente para casos como este, embora não citada nas fontes originais aqui usadas).

Em nível de rede/e-mail, o vetor de entrega original foi SMS com link de phishing direcionado; buscar por domínios de encurtamento de URL suspeitos ou infraestrutura associada a NSO Group em logs históricos de 2016 é o sinal mais próximo disponível, mas não há IOC de rede específico para o bug de kernel em si publicado pelas fontes consultadas.

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 obtain sensitive information from memory via a crafted app.
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
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.