Pesquisadores da equipe do Google Project Zero analisaram detalhadamente a técnica para criar um exploit funcional que permite a execução remota de código com privilégios do kernel Linux, por meio do envio de uma mensagem SMS ou RCS com um anexo de áudio especialmente formatado. O ataque é realizado sem qualquer ação do usuário, incluindo a não necessidade de visualizar ou ouvir a mensagem recebida.
O exploit envolve duas vulnerabilidades: na biblioteca Dolby Unified Decoder (CVE-2025-54957) e no driver bigwave para o kernel Linux (CVE-2025-36934). Anteriormente, para explorar vulnerabilidades em codecs, era necessário que o usuário ouvisse ou visualizasse o conteúdo malicioso recebido. Após a integração de assistentes de IA nas últimas versões do firmware do Android, o conteúdo multimídia recebido é automaticamente decodificado após a recepção, o que aumenta significativamente a superfície de ataque que não requer ações do usuário (0-click). No contexto de mensagens de áudio SMS e RCS, o aplicativo Google Messages, por meio do serviço com.google.android.tts, gera automaticamente uma transcrição para aplicação em mensagens de áudio para pesquisa textual, permitindo explorar vulnerabilidades nos codecs de áudio existentes sem a participação do usuário.
O problema no Dolby Unified Decoder é causado por um estouro de inteiro ao calcular o tamanho do buffer para estruturas de dados syncframe em processamento, que pode ser explorado para gravar além do buffer alocado. Como resultado do estouro, um ponteiro usado no processamento do próximo quadro de sincronização pode ser sobrescrito, cujo ajuste permite que um atacante sobrescreva o ponteiro da função com dados controlados e execute seu código com privilégios de 'mediacodec', limitados através do SELinux.
Para explorar o kernel Linux, uma vulnerabilidade no driver bigwave, responsável por trabalhar com o dispositivo especial /dev/bigwave, foi utilizada, permitindo acesso desde o contexto SELinux 'mediacodec'. A vulnerabilidade possibilitava sobrescrever estruturas do kernel através de manipulações com a chamada ioctl BIGO_IOCX_PROCESS e alcançar a execução de código com privilégios do kernel.
Uma vulnerabilidade na biblioteca Dolby Unified Decoder (libcodec2_soft_ddpdec.so), que fornece funções para decodificar formatos Dolby Digital (DD, AC-3) e Dolby Digital Plus (DD+, EAC-3), não é específica para Android e para o firmware do Pixel 9, e também se manifesta em outras plataformas (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS, etc.). No repositório AOSP do Android e no firmware do Samsung S24, um filtro seccomp de chamadas de sistema é aplicado aos processos executados no contexto do mediacodec, dificultando a exploração posterior das vulnerabilidades no núcleo. No firmware do Pixel 9, esse filtro estava ausente. De ataques poderia proteger o mecanismo Memory Tagging (MTE), mas ele está disponível para dispositivos Pixel 8+ apenas na forma de uma opção ativada ao ligar o modo 'Proteção Avançada'. No macOS e no iOS, a exploração é dificultada pela compilação da biblioteca com a flag '-fbounds-safety', que impõe verificações adicionais para evitar o estouro de buffers, o que diminui o desempenho.
Pesquisadores estão investigando separadamente os problemas com a entrega da correção da vulnerabilidade no Dolby Unified Decoder aos usuários. Informações sobre a vulnerabilidade foram divulgadas publicamente 82 dias antes que a correção fosse disponibilizada para os usuários dos dispositivos Pixel. A empresa Dolby foi informada sobre o problema em 26 de junho de 2025. A primeira correção binária foi lançada em 18 de setembro para o ChromeOS, mas para dispositivos Android, a empresa Dolby forneceu patches binários apenas em 8 de outubro. Em 15 de outubro, as informações sobre a vulnerabilidade foram tornadas públicas. A Samsung lançou a correção em 12 de novembro e apenas em 5 de janeiro foi publicada a correção para dispositivos Pixel. A distribuição do patch para todos os dispositivos Android levou 139 dias.
Uma vulnerabilidade foi identificada no Dolby Unified Decoder em menos de dois dias, e no driver BigWave em menos de um dia de revisão. O tempo estimado para o desenvolvimento de um exploit funcional para a vulnerabilidade no Dolby Unified Decoder é de 8 semanas com um único pesquisador, enquanto para o BigWave é de 3 semanas. No relatório publicado em 14 de outubro pela Dolby, a vulnerabilidade no Dolby Unified Decoder foi classificada como de baixo nível de perigo, apesar da transmissão de detalhes sobre o exploit em desenvolvimento. A vulnerabilidade no BigWave recebeu uma classificação média de perigo (Moderate) no Android, justificando que o ataque só é possível a partir de conteúdo privilegiado e não está acessível em contextos não privilegiados (três meses depois, o status da vulnerabilidade foi alterado para "problema perigoso").
Fonte: opennet.ru
