CVE-2025-31200: Desbordamiento de búfer en el reasignación de canales APAC de CoreAudio
Resumen de la vulnerabilidad
CVE-2025-31200 es una vulnerabilidad de desbordamiento de búfer en el framework CoreAudio de Apple que afecta al decodificador del códec de audio posicional de Apple (APAC). El fallo existe en la función APACChannelRemapper::Process dentro de APACHOADecoder::DecodeAPACFrame.
Sistemas afectados:
iOS < 18.4.1
macOS < 15.4.1
Todos los dispositivos Apple con el framework CoreAudio
Detalles técnicos
Causa raíz
La vulnerabilidad se origina por un error lógico en la validación del diseño de canales:
El mRemappingArray se dimensiona según los 2 bytes inferiores de mChannelLayoutTag del diseño de canales global
Durante el procesamiento de tramas de audio, el decodificador utiliza un recuento separado del diseño de canales de reasignación para iterar sobre este array
Al crear un desajuste entre estos dos recuentos de canales, un atacante puede provocar un acceso a memoria fuera de los límites
Vector de ataque
La explotación funciona creando un archivo de audio APAC malicioso con:
Diseño de canales global: 4 canales (controla el tamaño de asignación del array)
Diseño de canales de reasignación: 64 canales (controla el recuento de iteraciones)
Resultado: acceso a memoria fuera de los límites 16 veces durante la reasignación de canales
Prueba de concepto
Este repositorio contiene una implementación en Python que genera la cookie APAC maliciosa que explota esta vulnerabilidad.
Archivos
poc.py - Generador principal de la explotación
generate_audio_simple.py - Generación de archivos de audio
caf_utils.py - Utilidades de manipulación de cookies APAC
parser.py - Análisis de cookies y creación de payloads de explotación
test_exploit.py - Verificación y análisis de la explotación
create_malicious_mp4.py - Generación de payloads MP4
Archivos de audio de prueba benignos (WAV, M4A, CAF)
exploit_cookie.dat - Cookie APAC maliciosa con desajuste en el recuento de canales
malicious_apac.m4a - Archivo MP4 armado listo para pruebas
Proceso de explotación
Crear el desajuste del diseño de canales en la cookie APAC (poc.py)
Verificar la integridad del payload (test_exploit.py)
Insertar la cookie en el contenedor de audio MP4/M4A (create_malicious_mp4.py)
Implementar el archivo malicioso en el sistema vulnerable
Activar el procesamiento mediante la reproducción de audio (AVAudioPlayer, navegador web, etc.)
El acceso fuera de los límites ocurre en APACChannelRemapper::Process
Entorno de pruebas
Para verificar la explotación en sistemas vulnerables:
Objetivo: macOS < 15.4.1 o iOS < 18.4.1
Herramientas: Xcode con Guard Malloc habilitado
Bloqueo esperado: APACChannelRemapper::Process con EXC_BAD_ACCESS
Depuración: Usa LLDB para examinar los patrones de corrupción de memoria
Impacto y potencial de explotación
Efectos inmediatos
Denegación de servicio: bloqueo garantizado al procesar audio malicioso
Corrupción de memoria: operaciones de lectura/escritura fuera de los límites
Terminación de la aplicación: cualquier aplicación que procese el audio malicioso se bloqueará
Explotación avanzada
Con una elaboración cuidadosa del payload, esta vulnerabilidad podría aprovecharse potencialmente para:
Ejecución de código: controlando las operaciones de escritura fuera de los límites, un atacante podría:
Sobrescribir punteros a funciones o entradas de tablas virtuales
Corromper metadatos del heap para lograr primitivas de escritura arbitraria
Encadenar con otras vulnerabilidades para el compromiso total del sistema
Escape de la sandbox: dado que CoreAudio se ejecuta en varios contextos de seguridad:
Explotación del navegador mediante elementos de audio HTML5
Explotación del cliente de correo mediante adjuntos de audio
Explotación del servicio del sistema en mediaserverd
Escenarios de ataque remoto:
Ataques basados en la web mediante contenido de audio malicioso
Explotación de aplicaciones de mensajería mediante adjuntos de mensajes de audio
Ataques basados en correo electrónico con archivos de audio maliciosos
Descargas automáticas (drive-by) de contenido multimedia malicioso
Vectores de ataque
Navegadores web que procesan audio/video HTML5 con codificación APAC
Reproductores multimedia y aplicaciones de streaming
Aplicaciones de mensajería que gestionan archivos de audio adjuntos
Clientes de correo electrónico que procesan contenido multimedia
Servicios multimedia del sistema que procesan archivos de audio automáticamente
Mitigación
Apple abordó esta vulnerabilidad en:
iOS 18.4.1 (abril de 2025)
macOS 15.4.1 (abril de 2025)
La corrección valida los recuentos de canales entre los diseños global y de reasignación antes del procesamiento, evitando el desajuste que causa el desbordamiento de búfer.
Descargo de responsabilidad
Esta prueba de concepto se proporciona únicamente con fines educativos y de investigación. Demuestra una vulnerabilidad de seguridad crítica en el framework CoreAudio de Apple para ayudar a los investigadores de seguridad a comprender los mecanismos del ataque y mejorar las medidas defensivas.