CVE-2025-31200
Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Summary
Falha de corrupção de memória no decodificador de áudio AAC do CoreAudio da Apple (componente AudioCodecs), acionada ao processar um stream de áudio malformado dentro de um arquivo de mídia, podendo resultar em execução de código. Afeta iOS/iPadOS, macOS Sequoia, tvOS, visionOS e watchOS antes das versões corrigidas em abril de 2025. A Apple confirma exploração real, mas descreve como ataque 'extremamente sofisticado' contra 'indivíduos especificamente visados' — perfil típico de spyware comercial contra alvos de alto valor, não campanha de massa, apesar do CVSS 9.8 e da entrada no catálogo KEV da CISA.
Technical detail
A falha está em AudioCodecs.component (localizado em /System/Library/Components/, não faz parte do dyld shared cache, o que dificultou a análise binária). Análise independente de binary diffing entre as versões de iOS 18.4 e 18.4.1 (radiff2/Binary Ninja, feita por um pesquisador terceiro após o patch, não pela Apple) apontou a mudança no método apac::hoa::CodecConfig::Deserialize, responsável por interpretar o bitstream de configuração AAC. O código calcula um 'elementCount' — quantos elementos alocar num array — a partir de um opcode lido diretamente do stream controlado pelo atacante (com um caso especial que usa uma contagem de bits via instrução NEON, outro que usa os 16 bits baixos do opcode, e um terceiro que lê outro campo do próprio stream). Na versão vulnerável, esse mesmo elementCount, derivado de dados não confiáveis, era reutilizado tanto para dimensionar o array quanto para conduzir a escrita subsequente dos elementos lidos do stream; a correção substituiu parte desse cálculo por um valor fixo lido de um campo do objeto (this+0x58), desacoplando o tamanho de alocação do valor arbitrário fornecido pelo atacante.
O efeito prático é uma divergência entre o tamanho alocado para o array e o volume de dados efetivamente escrito nele — uma violação de limites (bounds checking, o texto oficial da Apple usa exatamente esse termo) que resulta em escrita fora dos limites do heap dentro do processo de mídia que decodifica o áudio. O atacante controla o conteúdo do arquivo de mídia (container MP4/AAC) e, através dele, o opcode e os valores subsequentes do stream — ou seja, controla o vetor de corrupção quase por completo, o que explica AC:L e a nota de 'exploração extremamente sofisticada' apesar da baixa complexidade formal.
A Apple não publicou CWE oficial nem detalhe de código; a reconstrução acima vem de engenharia reversa independente e é consistente com a mudança observada no binário, mas não é confirmação linha a linha do fornecedor.
How it’s exploited
Vetor: um arquivo de mídia malicioso contendo áudio AAC malformado, entregue por qualquer canal que leve o sistema a decodificá-lo automaticamente. O advisory da Apple não nomeia o canal de entrega; relatos externos (não confirmados pela Apple) apontam iMessage como vetor de entrega zero-click observado nos ataques reais. O CVSS reflete isso: AV:N, PR:N, UI:N — nenhuma credencial e nenhuma ação explícita da vítima são necessárias além de o dispositivo processar a mídia recebida. Pré-requisito real e único confirmado pela Apple: estar em uma versão anterior à corrigida.
Existe PoC pública, mas é importante separar duas coisas: um pesquisador terceiro conseguiu, ajustando parâmetros do arquivo, reproduzir um crash em macOS a partir da mesma classe de bug — isso demonstra a corrupção de memória, não entrega necessariamente um exploit de execução de código arbitrário weaponizado e confiável. A Apple credita a descoberta a si mesma e ao Google Threat Analysis Group (TAG), grupo que tipicamente investiga campanhas de spyware comercial/mercenário contra jornalistas, dissidentes e ativistas — isso é o indício mais forte sobre o perfil real de exploração: caro, seletivo, não massificado.
Há material de terceiros circulando (um issue no repositório cisagov/vulnrichment e uma postagem na lista Full Disclosure, ambos atribuídos a 'Joseph Goydish II') descrevendo uma cadeia muito mais ampla: desativação do BlastDoor, envenenamento de tokens do identityservicesd, extração de chaves do Secure Enclave via CryptoTokenKit, propagação 'wormable' via MultipeerConnectivity e roubo de carteiras cripto, com reivindicação de CVSS 10.0 'chain-aware' e acusação de que a Apple 'suprimiu' a pesquisa. Nenhuma dessas afirmações é corroborada pelo advisory oficial, pelo crédito ao Google TAG, ou pela análise técnica independente que efetivamente diffou o binário (que encontrou apenas a corrupção de heap no CoreAudio, nada sobre identityservicesd ou Secure Enclave). Os 'logs brutos' apresentados como evidência nesse material são genéricos e não verificáveis de forma independente. Trate essas alegações como não confirmadas — não fazem parte da base factual estabelecida desta CVE.
Versions
How to protect
Atualizar para iOS 18.4.1 / iPadOS 18.4.1, macOS Sequoia 15.4.1, tvOS 18.4.1, visionOS 2.4.1 ou watchOS 11.5 (ou versões posteriores) elimina a falha. A Apple corrigiu ajustando a verificação de limites dentro do próprio decodificador; não há flag, configuração ou opção documentada para desativar seletivamente o codec afetado sem atualizar o sistema.
Sem atualização disponível — dispositivos fora de suporte ou ramos de macOS não cobertos pelo advisório (a Apple listou correção apenas para macOS Sequoia, não para Sonoma/Ventura; não está confirmado se esses ramos mais antigos contêm o componente vulnerável ou simplesmente não receberam backport) — a única mitigação real e documentada pela própria Apple contra esse tipo de ataque de clique zero via mensagens é ativar o Modo de Isolamento (Lockdown Mode), que restringe o processamento automático de anexos de mídia recebidos, especialmente de remetentes desconhecidos. Restringir o recebimento de mensagens/anexos de contatos não conhecidos reduz a superfície, mas não elimina o risco se o remetente for conhecido ou comprometido.
Não funciona como mitigação: soluções de antivírus móvel, MDM convencional ou filtragem de rede — a exploração ocorre dentro do pipeline de decodificação de mídia do próprio sistema operacional, antes de qualquer inspeção de segurança de terceiros ter visibilidade sobre o conteúdo decodificado.