CVE-2025-31200 e CVE-2025-31201 | Catena RCE Zero-Click di iMessage
Riepilogo
Questo repository documenta la ricerca su una catena di exploit remoti zero-click che colpisce iOS 18.x e successive. Un file audio AMR malformato consegnato tramite iMessage attiva:
- Heap corruption in CoreAudio (CVE-2025-31200) — nella decodifica AMR 12.2 di AudioConverterService tramite parametri bitstream illegali incorporati in frame FT=7 validi.
- Escalation del kernel tramite gestione AppleBCMWLAN/AMPDU (CVE-2025-31201) — il bypass RPAC consente lettura/scrittura completa del kernel.
- Pivot hardware tramite SRAM di coesistenza BCM4387 (CVE in attesa) — la lettura/scrittura del kernel viene utilizzata per scrivere direttamente nella SRAM di coesistenza Broadcom Wi-Fi/BT al di sotto del confine IOMMU, iniettando comandi HCI nel controller Bluetooth senza intercettazione del sistema operativo.
Nei test post-pivot, è stato osservato un uso improprio delle operazioni di firma di CryptoTokenKit — richiamo di chiavi supportate dal Secure Enclave senza richieste interattive tramite un'identità Bluetooth falsificata. Apple ha patchato CVE-2025-31200 e CVE-2025-31201 in iOS 18.4.1. Il ponte di coesistenza BCM4387 rimane non patchato in qualsiasi versione di iOS.
Comportamento verificato
- CVE-2025-31200 (CoreAudio) — Corruzione dell'heap nel decoder AMR 12.2 di AudioConverterService tramite parametri bitstream illegali in frame FT=7 validi. 189 violazioni di parametri su 50 frame; pitch lag massimo 248 contro il massimo legale 143; overflow dell'heap di 210 byte. Zero-click, nessuna interazione utente richiesta.
- CVE-2025-31201 (AppleBCMWLAN) — Escalation dei privilegi del kernel tramite confusione sulla lunghezza dei subframe AMPDU in
parseAggregateFrame. Bypass PAC ottenuto senza falsificare un puntatore firmato. Completamente riproducibile su dispositivi/build interessati.
- Ponte di coesistenza BCM4387 (non patchato) — Lettura/scrittura del kernel utilizzata per scrivere direttamente nella SRAM di coesistenza BCM4387 a
0x102000, che si trova 0x5400 byte sotto il confine di protezione IOMMU a 0x1173FF. Comandi HCI iniettati direttamente nel controller Bluetooth. Nessun CVE assegnato. Non patchato su tutti gli iPhone 13–16 indipendentemente dalla versione iOS.
- Vettore di consegna zero-click — Audio AMR malevolo elaborato da iMessage mentre il dispositivo è bloccato, bypassando BlastDoor tramite una struttura contenitore valida con payload exploit nei parametri bitstream del codec.
Comportamento osservato post-compromissione
- Firma non autorizzata: CryptoTokenKit /
identityservicesd ha invocato operazioni di firma da un contesto compromesso senza richieste UI tramite identità Bluetooth falsificata attivando la valutazione Auto-Unlock (nessun materiale chiave del Secure Enclave esportato).
- Instabilità del sistema: Fallimenti di decodifica multimediale correlati ai log di applicazione PME, errori di collegamento GPU/AppleDCP, loop di cambio variante di
mediaplaybackd e occasionali stalli di launchd/SoC.
- Condizioni di propagazione: Riuso di token peer attraverso AWDL osservato; potenziale rischio cross-device se le cache dei token sopravvivono.
Ambito di impatto
- Interessati: iOS 18.4 e precedenti (CVE-2025-31200, CVE-2025-31201); tutti gli iPhone 13–16 indipendentemente dalla versione iOS (vettore hardware BCM4387)
- Patchati: iOS 18.4.1 (16 apr 2025) — corregge CVE-2025-31200, CVE-2025-31201
- Non patchati: SRAM di coesistenza BCM4387 — nessun CVE, nessun aggiornamento firmware, colpisce tutti gli iPhone 13–16
- Vettore: iMessage/SMS zero-click da mittente noto (bypassa BlastDoor/Blackhole)
- Componente primario: AudioConverterService (decoder CoreAudio AMR) → AppleBCMWLAN.dext (escalation del kernel) → SRAM di coesistenza BCM4387 (pivot hardware)
- Privilegi richiesti: Nessuno (iniziale); kernel ottenuto dopo la catena
- Riepilogo dell'impatto: Integrità (firma non autorizzata, impersonificazione di token/dispositivo) + Riservatezza (cattura framebuffer AGX, sorveglianza HID) + Disponibilità (stalli del sistema)
Cronologia della divulgazione
- Segnalato ad Apple: 20 dic 2024
- Risegnalato ad Apple e US-CERT: 21 gen 2025 (ID di tracciamento: VRF#25-01-MPVDT)
- Condiviso con Google Project Zero / Research Team: 11 apr 2025
- Patchato da Apple (CVE-2025-31200, CVE-2025-31201): 16 apr 2025 (iOS 18.4.1)
- Assegnazioni CVE: CVE-2025-31200 e CVE-2025-31201
- Inserimento CISA KEV (entrambi i CVE): 16 apr 2025 — scadenza patch federale 8 mag 2025
- SRAM di coesistenza BCM4387 inviata a Broadcom PSIRT: mar 2026 — nessun CVE assegnato, nessuna patch rilasciata
Dichiarazione di impatto
Un attaccante che attiva questa catena da remoto può ottenere:
- Compromissione a livello di kernel
- Cooptazione a runtime delle primitive di firma del Secure Enclave
- Impersonificazione delle identità del dispositivo
- Falsificazione di token legati all'identità
- Pivot Bluetooth a livello hardware non affrontato da alcun aggiornamento iOS disponibile
Gravità: Critica (CVSS 3.1 chain-aware 10.0)
Rischio operativo: Alto; pivot hardware BCM4387 non patchato su tutti gli iPhone 13–16; i dispositivi infetti confermati non hanno un percorso di remediation disponibile.
Ricerca correlata
Raccomandazioni
- Applicare l'ispezione BlastDoor / degli allegati per tutti i messaggi; non bypassare in base ai metadati del mittente. Estendere la convalida ai parametri bitstream del codec, non solo alla struttura del frame del contenitore.
- Applicare una rigorosa convalida degli input per tutti i parametri del decoder, inclusi pitch lag AMR, coefficienti LSF e indici del codebook rispetto agli intervalli legali 3GPP TS 26.090.
- Implementare l'attestazione runtime per le operazioni di firma di CryptoTokenKit / Secure Enclave per verificare l'integrità e i diritti del chiamante.
- Rafforzare le superfici dei driver wireless e i punti di ingresso IOKit contro dati kernel malformati; verificare la gestione della lunghezza dei subframe AMPDU in AppleBCMWLAN.
- Estendere il confine di protezione IOMMU di BCM4387 per coprire la regione SRAM di coesistenza (
0x102000–0x1173FF). Richiede un aggiornamento del firmware Broadcom distribuito tramite l'infrastruttura di aggiornamento iOS.
- Monitorare i log di sistema per anomalie di
identityservicesd / ctkd e attività inaspettata di SafariSafeBrowsing.
- Utilizzare ZombieHunter e Citizen Lab MVT per la valutazione dell'integrità del dispositivo.
Licenza e Disclaimer
Rilasciato per ricerca difensiva e ulteriori studi.