Use After Free in DSP Service
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply remediations or mitigations per vendor instructions or discontinue use of the product if remediation or mitigations are unavailable.
Resumo
Falha use-after-free (CWE-416) no driver que gerencia memória compartilhada entre o processador principal (HLOS — Android/Linux) e o DSP em chipsets Qualcomm. Está no catálogo KEV da CISA com exploração confirmada, mas o vetor é estritamente local: exige que o atacante já tenha algum nível de acesso ao dispositivo (processo com permissão para falar com o driver do DSP), o que a torna uma peça de escalonamento de privilégio pós-comprometimento, não uma porta de entrada remota.
Detalhamento técnico
A falha está no componente de kernel que mantém 'memory maps' — estruturas que registram quais regiões de memória do HLOS (a CPU principal rodando Android) estão mapeadas e acessíveis ao DSP (o coprocessador de sinal digital). Esse subsistema é implementado no driver conhecido como dsp-kernel/fastRPC (adsprpc), que expõe uma interface via ioctl para que processos do userspace criem, usem e liberem esses mapeamentos.
O bug é um use-after-free: um objeto de map de memória é liberado (free) enquanto ainda existe uma referência ativa a ele em outro ponto do código, seja por condição de corrida entre criação/destruição de mapas, seja por falta de verificação antes do reuso. Depois do free, o driver continua operando sobre o ponteiro pendente. Se o atacante conseguir realocar aquela região de memória com conteúdo controlado antes que o ponteiro obsoleto seja usado de novo, ele corrompe estruturas de kernel de forma controlada.
O patch oficial (commit público no repositório dsp-kernel do CodeLinaro, hash 0e27b6c7d2bd8d0453e4465ac2ca49a8f8c440e2) corrige o ciclo de vida desse objeto de map, fechando a janela de uso após liberação. A vulnerabilidade roda em contexto de kernel/driver privilegiado — não em espaço de usuário —, por isso o impacto potencial é alto mesmo partindo de um processo com poucos privilégios.
Como é explorada
O vetor é local (AV:L): o atacante precisa já estar executando código no dispositivo, tipicamente um processo ou app com permissão para abrir o node de dispositivo do driver fastRPC/adsprpc e emitir as chamadas ioctl que criam e destroem mapas de memória compartilhada com o DSP. Não há interação do usuário (UI:N) e a complexidade de ataque é baixa (AC:L) — uma vez com esse acesso, disparar a condição de corrida/uso indevido é determinístico ou próximo disso, sem depender de engenharia social.
O CVSS reflete impacto total em confidencialidade, integridade e disponibilidade porque a corrupção de memória ocorre em contexto de kernel: uma exploração bem-sucedida permite escalar de um processo com privilégios baixos para execução de código em nível de kernel, efetivamente comprometendo todo o dispositivo (root/escape de sandbox).
A entrada no catálogo KEV da CISA, com prazo de correção fixado para 29/10/2024, confirma exploração ativa observada, mas nem o boletim da Qualcomm nem a CISA detalham publicamente quem explorou ou em que campanha. O padrão típico para esse tipo de falha em drivers de DSP Qualcomm é uso como elo de escalonamento em cadeias de exploração que começam com acesso físico ao aparelho ou com uma app maliciosa/exploit inicial, e terminam em controle total do sistema — perfil consistente com ferramentas de extração forense e spyware móvel que dependem de bugs de privilégio em componentes proprietários de chipset para desbloquear ou rootear o aparelho.
Versões
Como se proteger
A correção é o patch do driver dsp-kernel referenciado no boletim de segurança da Qualcomm de outubro de 2024, distribuído aos fabricantes de dispositivo (OEMs) para incorporação nas atualizações de firmware/Android Security Patch Level. Não há CVE isolada resolvível pelo usuário final: a aplicação depende do fabricante do aparelho publicar e o usuário instalar a atualização de segurança correspondente a esse ciclo.
Se a atualização de firmware não estiver disponível para o dispositivo (comum em aparelhos fora de suporte), não existe mitigação de configuração equivalente porque a falha está em um driver de kernel proprietário, não em uma opção ajustável pelo usuário. A própria orientação da CISA no KEV é direta: aplicar a correção do fornecedor ou descontinuar o uso do produto se não houver correção disponível — não há flag, WAF ou controle de rede que neutralize uma falha de kernel local em driver de chipset.
O boletim completo da Qualcomm lista os SoCs afetados por nome; a lista granular de chipsets e das versões de firmware corrigidas não constava no material consultado para esta página — confira o boletim oficial para verificar se o SoC específico do dispositivo está na lista antes de assumir que ele foi ou não corrigido.
Como detectar
Não há assinatura de detecção confiável e pública para esta falha. Indícios indiretos possíveis em análise forense pós-incidente incluem entradas de log de kernel (dmesg/logcat) referenciando o driver adsprpc/fastRPC com erros de mapeamento de memória, panics de kernel ou reinicializações inesperadas correlacionadas a atividade nesse driver — mas nenhum desses sinais é exclusivo desta CVE, e ferramentas de EDR móvel convencionais tipicamente não monitoram esse driver de DSP em nível de kernel.