iMessage Media Parser Zero-Click → CoreAudio RCE → PAC/RPAC → Kernel → CryptoTokenKit Abuse
Reading time: 7 minutes
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: 
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure: 
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
 - Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
 - Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
 
This page summarizes a modern iOS zero-click attack surface and an observed end-to-end exploitation chain abusing iMessage automatic media parsing to compromise CoreAudio, bypass BlastDoor, defeat Pointer Authentication (PAC) via an RPAC path, escalate to kernel, and finally abuse CryptoTokenKit for unauthorized key uses.
Warning: This is an educational summary to help defenders, researchers, and red teams understand the techniques. Do not use offensively.
Cadeia em alto nível
- Vetor de entrega: um anexo de áudio malicioso (por exemplo, .amr / MP4 AAC) enviado via iMessage/SMS.
 - Auto-ingestão: iOS analisa automaticamente mídias para previews e conversões sem interação do usuário.
 - Bug no parser: estruturas malformadas atingem o AudioConverterService do CoreAudio e corrompem heap memory.
 - Execução de código no contexto de mídia: RCE dentro do processo de parsing de mídia; relatado que contorna o isolamento do BlastDoor em caminhos específicos (por exemplo, framing path de “known sender”).
 - Bypass PAC/RPAC: uma vez que R/W arbitrário é alcançado, um bypass de PAC via o caminho RPAC permite controle de fluxo estável sob arm64e PAC.
 - Escalada para kernel: a cadeia converte execução em userland para execução em kernel (por exemplo, via caminhos de código wireless/AppleBCMWLAN e manipulação de AMPDU, como visto nos logs abaixo).
 - Pós-exploração: com kernel, abusar do CryptoTokenKit para realizar assinaturas com chaves suportadas pelo Secure Enclave, ler caminhos de dados sensíveis (contextos do Keychain), interceptar mensagens/2FA, autorizar ações silenciosamente e habilitar vigilância discreta (mic/camera/GPS) sem prompts.
 
Notas sobre a superfície de ataque iMessage/BlastDoor
BlastDoor é um serviço endurecido projetado para analisar conteúdo de mensagens não confiáveis. No entanto, logs observados indicam caminhos onde as proteções podem ser contornadas quando mensagens são enquadradas a partir de um “known sender” e quando filtros adicionais (por exemplo, Blackhole) são relaxados:
IDSDaemon    BlastDoor: Disabled for framing messages
SpamFilter   Blackhole disabled; user has disabled filtering unknown senders.
Takeaways:
- A análise automática ainda representa uma superfície de ataque remota, zero-click.
 - Decisões de política/contexto (remetente conhecido, estado de filtragem) podem alterar materialmente o isolamento efetivo.
 
CoreAudio: AudioConverterService heap corruption (userland RCE)
Affected component:
- CoreAudio → AudioConverterService → AAC/AMR/MP4 parsing and conversion flows
 
Observed parser touchpoint (logs):
AudioConverterService    ACMP4AACBaseDecoder.cpp: inMagicCookie=0x0, inMagicCookieByteSize=39
Resumo da técnica:
- Metadados de container/codec malformados (por exemplo, magic cookie inválido/curto/NULL) causam corrupção de memória durante a configuração do decode.
 - Gatilhos no caminho de conversão de mídia do iMessage sem interação do usuário.
 - Produz execução de código no processo de parsing de mídia. O write-up afirma que isso escapa do BlastDoor no caminho de entrega observado, permitindo a próxima etapa.
 
Dicas práticas:
- Fuzz o magic cookie de AAC/AMR e os atoms de codec MP4 ao mirar conversões do AudioConverterService.
 - Foque em heap overflows/underflows, OOB reads/writes e confusões de size/length na inicialização do decoder.
 
Bypass de PAC via caminho RPAC (CVE-2025-31201)
arm64e Pointer Authentication (PAC) dificulta o sequestro de endereços de retorno e de ponteiros de função. A cadeia relata derrotar o PAC usando um caminho RPAC assim que R/W arbitrário estiver disponível.
Ideia-chave:
- Com R/W arbitrário, atacantes podem construir ponteiros válidos re-assinados ou pivotar a execução para caminhos tolerantes a PAC. O chamado “RPAC path” permite control-flow sob restrições do PAC, transformando um RCE em userland numa configuração de exploit de kernel confiável.
 
Notas para pesquisadores:
- Colete info leaks para derrotar KASLR e estabilizar cadeias ROP/JOP mesmo sob PAC.
 - Mire callsites que geram ou autenticam PAC de maneiras controláveis (por ex., assinaturas geradas sobre valores controlados pelo atacante, chaves de contexto previsíveis, ou sequências de gadgets que re-assinam ponteiros).
 - Espere variação no hardening da Apple por SoC/OS; a confiabilidade depende de leaks, entropia e primitivas robustas.
 
Escalada de kernel: exemplo do caminho wireless/AMPDU
Na cadeia observada, após atingir userland com memory corruption e um PAC bypass primitive, o controle do kernel foi obtido via code paths na stack Wi‑Fi (AppleBCMWLAN) devido ao tratamento malformado de AMPDU. Logs de exemplo:
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 14
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 13
Técnica geral:
- Utilize userland primitives para construir kernel R/W ou caminhos de chamada controlados.
 - Abusar de superfícies do kernel alcançáveis (IOKit, networking/AMPDU, media shared memory, Mach interfaces) para obter controle do PC do kernel ou memória arbitrária.
 - Estabilize construindo read/write primitives e derrotando restrições PPL/SPTM quando aplicável.
 
Pós-exploração: CryptoTokenKit e abuso de identity/signing
Uma vez que o kernel é comprometido, processos como identityservicesd podem ser personificados e operações criptográficas privilegiadas invocadas via CryptoTokenKit sem solicitações do usuário. Logs de exemplo:
CryptoTokenKit    operation:2 algo:algid:sign:ECDSA:digest-X962:SHA256
CryptoTokenKit    <sepk:p256(d) kid=9a86778f7163e305> parsed for identityservicesd
Impacto:
- Uso de chaves protegidas pelo Secure Enclave para assinaturas não autorizadas (tokens, mensagens, pagamentos), quebrando modelos de confiança mesmo que as chaves não sejam exportadas.
 - Interceptar códigos/mensagens 2FA silenciosamente; autorizar pagamentos/transferências; habilitar microfone/câmera/GPS em modo furtivo.
 
Defensive angle:
- Tratar quebras de integridade pós-kernel como catastróficas: impor runtime attestation para consumidores de CTK; minimizar ambient authority; verificar entitlements no ponto de uso.
 
Reproduction and telemetry hints (lab only)
- Entrega: enviar um áudio AMR/MP4-AAC especialmente criado para o dispositivo alvo via iMessage/SMS.
 - Observar telemetria para as linhas de log acima relacionadas à análise/parsing e às reações da pilha wireless.
 - Garantir que os dispositivos estejam totalmente atualizados; testar apenas em ambientes de laboratório isolados.
 
Mitigations and hardening ideas
- Patch level: iOS 18.4.1 aparentemente corrige essa cadeia; mantenha os dispositivos atualizados.
 - Parser hardening: validação estrita para codec cookies/atoms e comprimentos; caminhos de decodificação defensivos com checagens de limites.
 - iMessage isolation: evitar relaxar BlastDoor/Blackhole em contextos de “known sender” para parsing de mídia.
 - PAC hardening: reduzir disponibilidade de PAC-gadgets; garantir que assinaturas estejam vinculadas a contextos imprevisíveis; remover padrões PAC-tolerant bypassable.
 - CryptoTokenKit: exigir post-kernel attestation e entitlements fortes em tempo de chamada para operações vinculadas a chaves.
 - Kernel surfaces: harden o tratamento de wireless AMPDU/status; minimizar entradas controladas por atacante provenientes do userland após comprometimento.
 
Affected versions (as reported)
- iOS 18.x prior to iOS 18.4.1 (April 16, 2025).
 - Primary: CoreAudio → AudioConverterService (media auto-parsing path via iMessage/SMS).
 - Chained: PAC/RPAC path and kernel escalation via AppleBCMWLAN AMPDU handling.
 
References
tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: 
HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure: 
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
 - Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
 - Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
 
HackTricks