CVE-2025-31200: Estouro de Buffer no Remapeamento de Canais do CoreAudio APAC
Visão Geral da Vulnerabilidade
CVE-2025-31200 é uma vulnerabilidade de estouro de buffer no framework CoreAudio da Apple que afeta o decodificador do Codec de Áudio Posicional Apple (APAC). O bug existe na função APACChannelRemapper::Process dentro de APACHOADecoder::DecodeAPACFrame.
Sistemas Afetados:
iOS < 18.4.1
macOS < 15.4.1
Todos os dispositivos Apple com framework CoreAudio
Detalhes Técnicos
Causa Raiz
A vulnerabilidade decorre de um erro de lógica na validação do layout de canais:
O mRemappingArray é dimensionado com base nos 2 bytes inferiores de mChannelLayoutTag do layout global de canais
Durante o processamento do quadro de áudio, o decodificador usa uma contagem separada do layout de canais de remapeamento para iterar por este array
Ao criar uma incompatibilidade entre essas duas contagens de canais, um atacante pode causar acesso à memória fora dos limites
Vetor de Ataque
O exploit funciona criando um arquivo de áudio APAC malicioso com:
Layout global de canais: 4 canais (controla o tamanho da alocação do array)
Layout de canais de remapeamento: 64 canais (controla a contagem de iteração)
Resultado: 16x acesso à memória fora dos limites durante o remapeamento de canais
Prova de Conceito
Este repositório contém uma implementação em Python que gera o cookie APAC malicioso que explora esta vulnerabilidade.
Arquivos
poc.py - Gerador principal de exploit
generate_audio_simple.py - Geração de arquivo de áudio
caf_utils.py - Utilitários de manipulação de cookie APAC
parser.py - Análise de cookie e criação de payload de exploit
test_exploit.py - Verificação e análise do exploit
Arquivos de áudio de teste benignos (WAV, M4A, CAF)
exploit_cookie.dat - Cookie APAC malicioso com incompatibilidade de contagem de canais
malicious_apac.m4a - Arquivo MP4 armado pronto para teste
Processo de Exploração
Criar incompatibilidade de layout de canais no cookie APAC (poc.py)
Verificar integridade do payload (test_exploit.py)
Incorporar cookie no contêiner de áudio MP4/M4A (create_malicious_mp4.py)
Implantar arquivo malicioso no sistema vulnerável
Acionar processamento via reprodução de áudio (AVAudioPlayer, navegador web, etc.)
Acesso fora dos limites ocorre em APACChannelRemapper::Process
Ambiente de Teste
Para verificar o exploit em sistemas vulneráveis:
Alvo: macOS < 15.4.1 ou iOS < 18.4.1
Ferramentas: Xcode com Guard Malloc ativado
Falha esperada: APACChannelRemapper::Process com EXC_BAD_ACCESS
Depuração: Use LLDB para examinar padrões de corrupção de memória
Impacto e Potencial de Exploração
Efeitos Imediatos
Negação de Serviço: Falha garantida quando o áudio malicioso é processado
Corrupção de Memória: Operações de leitura/gravação fora dos limites
Encerramento de Aplicativo: Qualquer aplicativo que processe o áudio malicioso falhará
Exploração Avançada
Com uma criação cuidadosa de payload, esta vulnerabilidade poderia potencialmente ser aproveitada para:
Execução de Código: Ao controlar as operações de gravação fora dos limites, um atacante pode:
Sobrescrever ponteiros de função ou entradas de tabela virtual
Corromper metadados do heap para alcançar primitivas de gravação arbitrária
Encadear com outras vulnerabilidades para comprometimento total do sistema
Escape de Sandbox: Como o CoreAudio é executado em vários contextos de segurança:
Exploração de navegador via elementos de áudio HTML5
Exploração de cliente de e-mail via anexos de áudio
Exploração de serviço do sistema no mediaserverd
Cenários de Ataque Remoto:
Ataques baseados na web através de conteúdo de áudio malicioso
Exploração de aplicativos de mensagens via anexos de mensagens de áudio
Ataques baseados em e-mail com arquivos de áudio maliciosos
Downloads drive-by de conteúdo de mídia malicioso
Vetores de Ataque
Navegadores web processando áudio/vídeo HTML5 com codificação APAC
Players de mídia e aplicativos de streaming
Aplicativos de mensagens lidando com anexos de áudio
Clientes de e-mail processando conteúdo multimídia
Serviços de mídia do sistema processando automaticamente arquivos de áudio
Mitigação
A Apple corrigiu esta vulnerabilidade em:
iOS 18.4.1 (abril de 2025)
macOS 15.4.1 (abril de 2025)
A correção valida as contagens de canais entre os layouts global e de remapeamento antes do processamento, impedindo a incompatibilidade que causa o estouro de buffer.
Aviso Legal
Esta prova de conceito é fornecida apenas para fins educacionais e de pesquisa. Ela demonstra uma vulnerabilidade crítica de segurança no framework CoreAudio da Apple para ajudar pesquisadores de segurança a entender os mecanismos de ataque e melhorar as medidas defensivas.