Use After Free in DSP Service
Prioritize patching. It under exploitation confirmed by CISA.
Apply remediations or mitigations per vendor instructions or discontinue use of the product if remediation or mitigations are unavailable.
Summary
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.
Technical detail
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.
How it’s exploited
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.
Versions
How to protect
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.
How to detect
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.