iMessage Media Parser Zero-Click → CoreAudio RCE → PAC/RPAC → Kernel → CryptoTokenKit Abuse

Reading time: 6 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Bu sayfa, iMessage'in otomatik medya ayrıştırmasını kötüye kullanarak CoreAudio'yu ele geçirmek, BlastDoor'u atlatmak, RPAC yoluyla Pointer Authentication (PAC)'ı etkisizleştirmek, çekirdeğe yükseltmek ve son olarak CryptoTokenKit'i yetkisiz anahtar kullanımları için kötüye kullanmak amacıyla gözlemlenen uçtan uca bir sömürü zinciri ve modern bir iOS zero-click saldırı yüzeyini özetler.

Uyarı: Bu, savunuculara, araştırmacılara ve red team'lere teknikleri anlamalarında yardımcı olmak için hazırlanmış eğitici bir özet niteliğindedir. Saldırgan amaçlarla kullanmayın.

High-level chain

  • Delivery vector: a malicious audio attachment (e.g., .amr / MP4 AAC) sent via iMessage/SMS.
  • Otomatik işleme: iOS, kullanıcı etkileşimi olmadan önizlemeler ve dönüştürmeler için medyayı otomatik olarak ayrıştırır.
  • Parser bug: malformed structures hit CoreAudio’s AudioConverterService and corrupt heap memory.
  • Medya bağlamında kod yürütme: RCE inside the media parsing process; reported to bypass BlastDoor isolation in specific paths (e.g., “known sender” framing path).
  • PAC/RPAC atlatması: rastgele R/W elde edildikten sonra, RPAC yolundaki bir PAC atlatması arm64e PAC altında kararlı kontrol akışı sağlar.
  • Kernel escalation: the chain converts userland exec into kernel exec (e.g., via wireless/AppleBCMWLAN code paths and AMPDU handling as seen in logs below).
  • Post-exploitation: with kernel, abuse CryptoTokenKit to perform signing with Secure Enclave–backed keys, read sensitive data paths (Keychain contexts), intercept messages/2FA, silently authorize actions, and enable stealth surveillance (mic/camera/GPS) without prompts.

iMessage/BlastDoor attack surface notes

BlastDoor is a hardened service designed to parse untrusted message content. Ancak gözlemlenen loglar, mesajların “bilinen gönderici” olarak çerçevelendiği ve ek filtreler (ör. Blackhole) gevşetildiği durumlarda korumaların atlanabileceği yolları işaret ediyor:

text
IDSDaemon    BlastDoor: Disabled for framing messages
SpamFilter   Blackhole disabled; user has disabled filtering unknown senders.

Takeaways:

  • Otomatik ayrıştırma hâlâ uzak, zero-click saldırı yüzeyi oluşturur.
  • Politika/bağlam kararları (bilinen gönderici, filtreleme durumu) etkili izolasyonu önemli ölçüde değiştirebilir.

CoreAudio: AudioConverterService heap corruption (userland RCE)

Affected component:

  • CoreAudio → AudioConverterService → AAC/AMR/MP4 parsing and conversion flows

Observed parser touchpoint (logs):

text
AudioConverterService    ACMP4AACBaseDecoder.cpp: inMagicCookie=0x0, inMagicCookieByteSize=39

Technique summary:

  • Bozuk container/codec metadata (ör. geçersiz/kısa/NULL magic cookie) decode kurulumu sırasında bellek bozulmasına neden olur.
  • Kullanıcının dokunması olmadan iMessage medya dönüşüm yolunda tetiklenir.
  • Medya ayrıştırma sürecinde kod yürütmesi sağlar. Yazıda, gözlemlenen teslim yolunda bunun BlastDoor'dan kaçtığı ve sonraki aşamayı mümkün kıldığı iddia ediliyor.

Practical tips:

  • AudioConverterService dönüşümlerini hedeflerken AAC/AMR magic cookie ve MP4 codec atomlarını fuzz edin.
  • Decoder initialization çevresinde heap overflows/underflows, OOB reads/writes ve boyut/uzunluk karışıklığına odaklanın.

PAC bypass via RPAC path (CVE-2025-31201)

arm64e Pointer Authentication (PAC), dönüş adresleri ve fonksiyon işaretçilerinin kaçırılmasını zorlaştırır. Zincir, arbitrary R/W erişimi sağlandığında RPAC yolu kullanılarak PAC'in aşıldığını rapor ediyor.

Key idea:

  • arbitrary R/W ile saldırganlar geçerli, yeniden imzalanmış pointer'lar üretebilir veya yürütmeyi PAC-tolerant yollarına pivotlayabilir. Sözde “RPAC path”, PAC kısıtlamaları altında kontrol-akışı sağlar ve userland RCE'yi güvenilir bir kernel exploit kurulumuna çevirir.

Notes for researchers:

  • KASLR'i yenmek ve PAC altında bile ROP/JOP zincirlerini stabilize etmek için info leaks toplayın.
  • PAC'i kontrollü şekilde üreten veya doğrulayan callsite'ları hedefleyin (ör. signatures generated on attacker-controlled values, predictable context keys, veya pointer'ları yeniden imzalayan gadget sequence'leri).
  • SoC/OS'e göre Apple hardening varyasyonu bekleyin; güvenilirlik info leaks, entropy ve sağlam primitives'e bağlıdır.

Kernel escalation: wireless/AMPDU path example

Gözlemlenen zincirde, userland'de bellek bozulması ve bir PAC bypass primitive elde edildikten sonra, kernel kontrolü bozuk AMPDU işleme altındaki Wi‑Fi yığını (AppleBCMWLAN) içindeki kod yolları aracılığıyla sağlandı. Örnek loglar:

text
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 14
IO80211ControllerMonitor::setAMPDUstat unhandled kAMPDUStat_ type 13

Genel teknik:

  • userland primitives kullanarak kernel R/W veya kontrol edilen çağrı yolları oluşturun.
  • Erişilebilir kernel yüzeylerini (IOKit, networking/AMPDU, media shared memory, Mach interfaces) kötüye kullanarak kernel PC kontrolü veya keyfi bellek elde edin.
  • Uygulanabilir yerlerde read/write primitives oluşturarak ve PPL/SPTM kısıtlarını aşarak stabilize edin.

Post-exploitation: CryptoTokenKit and identity/signing abuse

Kernel ele geçirildiğinde, identityservicesd gibi süreçler taklit edilebilir ve CryptoTokenKit aracılığıyla ayrıcalıklı kriptografik işlemler kullanıcı istemleri olmadan tetiklenebilir. Örnek loglar:

text
CryptoTokenKit    operation:2 algo:algid:sign:ECDSA:digest-X962:SHA256
CryptoTokenKit    <sepk:p256(d) kid=9a86778f7163e305> parsed for identityservicesd

Impact:

  • Use Secure Enclave–backed keys for unauthorized signing (tokens, messages, payments), breaking trust models even if keys are not exported.
  • Intercept 2FA codes/messages silently; authorize payments/transfers; enable stealth mic/camera/GPS.

Defensive angle:

  • Treat post-kernel integrity breaks as catastrophic: enforce runtime attestation for CTK consumers; minimize ambient authority; verify entitlements at the point of use.

Reproduction and telemetry hints (lab only)

  • Delivery: send a crafted AMR/MP4-AAC audio to the target device via iMessage/SMS.
  • Observe telemetry for the foregoing log lines around parsing and wireless stack reactions.
  • Ensure devices are fully patched; only test in isolated lab setups.

Mitigations and hardening ideas

  • Patch level: iOS 18.4.1 reportedly fixes this chain; keep devices up to date.
  • Parser hardening: strict validation for codec cookies/atoms and lengths; defensive decoding paths with bounds checks.
  • iMessage isolation: avoid relaxing BlastDoor/Blackhole in “known sender” contexts for media parsing.
  • PAC hardening: reduce PAC-gadget availability; ensure signatures are bound to unpredictable contexts; remove PAC-tolerant bypassable patterns.
  • CryptoTokenKit: require post-kernel attestation and strong entitlements at call-time for key-bound operations.
  • Kernel surfaces: harden wireless AMPDU/status handling; minimize attacker-controlled inputs from userland after compromise.

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

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin