CVE-2025-31200: Dépassement de tampon dans le remappage des canaux APAC de CoreAudio
Aperçu de la vulnérabilité
CVE-2025-31200 est une vulnérabilité de dépassement de tampon dans le framework CoreAudio d'Apple affectant le décodeur du codec audio positionnel Apple (APAC). Le bogue se trouve dans la fonction APACChannelRemapper::Process au sein de APACHOADecoder::DecodeAPACFrame.
Systèmes affectés :
iOS < 18.4.1
macOS < 15.4.1
Tous les appareils Apple avec le framework CoreAudio
Détails techniques
Cause racine
La vulnérabilité provient d'une erreur logique dans la validation de la disposition des canaux :
Le mRemappingArray est dimensionné en fonction des 2 octets de poids faible de mChannelLayoutTag de la disposition globale des canaux
Pendant le traitement des trames audio, le décodeur utilise un nombre distinct de canaux de remappage pour parcourir ce tableau
exploit_cookie.dat - Cookie APAC malveillant avec décalage du nombre de canaux
malicious_apac.m4a - Fichier MP4 armé prêt pour les tests
Processus d'exploitation
Créer un décalage de disposition des canaux dans le cookie APAC (poc.py)
Vérifier l'intégrité de la charge utile (test_exploit.py)
Intégrer le cookie dans un conteneur audio MP4/M4A (create_malicious_mp4.py)
Déployer le fichier malveillant sur le système vulnérable
Déclencher le traitement via la lecture audio (AVAudioPlayer, navigateur Web, etc.)
Un accès hors limites se produit dans APACChannelRemapper::Process
Environnement de test
Pour vérifier l'exploit sur les systèmes vulnérables :
Cible : macOS < 15.4.1 ou iOS < 18.4.1
Outils : Xcode avec Guard Malloc activé
Plantage attendu : APACChannelRemapper::Process avec EXC_BAD_ACCESS
Débogage : Utiliser LLDB pour examiner les motifs de corruption mémoire
Impact et potentiel d'exploitation
Effets immédiats
Déni de service : Plantage garanti lors du traitement de l'audio malveillant
Corruption mémoire : Opérations de lecture/écriture hors limites
Arrêt de l'application : Toute application traitant l'audio malveillant plantera
Exploitation avancée
Avec une conception minutieuse de la charge utile, cette vulnérabilité pourrait potentiellement être exploitée pour :
Exécution de code : En contrôlant les opérations d'écriture hors limites, un attaquant pourrait :
Écraser des pointeurs de fonction ou des entrées de table virtuelle
Corrompre les métadonnées du tas pour obtenir des primitives d'écriture arbitraire
Enchaîner avec d'autres vulnérabilités pour compromettre entièrement le système
Évitement du bac à sable : Étant donné que CoreAudio s'exécute dans divers contextes de sécurité :
Exploitation via navigateur à l'aide d'éléments audio HTML5
Exploitation via client de messagerie à l'aide de pièces jointes audio
Exploitation de services système dans mediaserverd
Scénarios d'attaque à distance :
Attaques basées sur le Web via du contenu audio malveillant
Exploitation via application de messagerie via des messages audio en pièce jointe
Attaques par courriel avec des fichiers audio malveillants
Téléchargements furtifs de contenu multimédia malveillant
Vecteurs d'attaque
Navigateurs Web traitant du contenu audio/vidéo HTML5 avec encodage APAC
Lecteurs multimédia et applications de streaming
Applications de messagerie gérant les pièces jointes audio
Clients de messagerie traitant du contenu multimédia
Services médias système traitant automatiquement les fichiers audio
Atténuation
Apple a corrigé cette vulnérabilité dans :
iOS 18.4.1 (avril 2025)
macOS 15.4.1 (avril 2025)
Le correctif valide les nombres de canaux entre les dispositions globale et de remappage avant le traitement, empêchant le décalage qui provoque le dépassement de tampon.
Avertissement
Cette preuve de concept est fournie à des fins éducatives et de recherche uniquement. Elle démontre une vulnérabilité de sécurité critique dans le framework CoreAudio d'Apple afin d'aider les chercheurs en sécurité à comprendre les mécanismes d'attaque et à améliorer les mesures défensives.