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
- En créant un décalage entre ces deux nombres de canaux, un attaquant peut provoquer un accès mémoire hors limites
Vecteur d'attaque
L'exploit fonctionne en créant un fichier audio APAC malveillant avec :
- Disposition globale des canaux : 4 canaux (contrôle la taille d'allocation du tableau)
- Disposition des canaux de remappage : 64 canaux (contrôle le nombre d'itérations)
- Résultat : accès mémoire hors limites 16x lors du remappage des canaux
Preuve de concept
Ce dépôt contient une implémentation Python qui génère le cookie APAC malveillant exploitant cette vulnérabilité.
Fichiers
poc.py - Générateur principal d'exploit
generate_audio_simple.py - Génération de fichier audio
caf_utils.py - Utilitaires de manipulation de cookie APAC
parser.py - Analyse de cookie et création de charge utile d'exploit
test_exploit.py - Vérification et analyse de l'exploit
create_malicious_mp4.py - Génération de charge utile MP4
Utilisation
# Generate malicious APAC cookie
pip install numpy construct
python3 poc.py
# Verify exploit payload
python3 test_exploit.py
# Create malicious MP4 (requires macOS afconvert)
python3 create_malicious_mp4.py
Les scripts génèrent :
- Fichiers audio de test bénins (WAV, M4A, CAF)
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
- 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.