← volver
CVE-2021-29256highbajo ataqueCWE-416

CVE-2021-29256

51Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Actcvss 8.8epss 3.0%
de la publicación al arma
Publicada en NVD24 may
CISA KEV+774d
probabilidad de explotación
3.0%top 13% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2023-07-28

Apply updates per vendor instructions or discontinue use of the product if updates are unavailable.

Resumen

Use-after-free (CWE-416) no driver kernel-mode do Mali GPU da Arm, presente em dispositivos Android e outros sistemas embarcados que usam GPUs das famílias Bifrost, Valhall e Midgard. Um usuário sem privilégios consegue escalar para root ou ler memória do kernel via /dev/mali. Está no catálogo KEV da CISA com exploração confirmada em campo, tipicamente como elo de escalonamento de privilégio em cadeias de comprometimento de dispositivos móveis.

Detalle técnico

A falha é um use-after-free no driver kernel do Mali GPU, que expõe interface via ioctl para o userspace gerenciar buffers de memória, jobs de GPU e contextos de execução. O padrão típico dessa classe de bug em drivers de GPU é: um objeto (buffer, contexto, ou estrutura de job) é liberado em um caminho de código, mas uma referência a ele permanece acessível em outro caminho — geralmente por corrida entre operações concorrentes de mapeamento/desmapeamento de memória ou entre destruição e uso de um handle. O atacante, controlando os parâmetros passados nos ioctls do driver, consegue disparar a liberação prematura e depois acessar ou realocar a região de memória correspondente.

A Arm não publicou diff de código ou detalhes de qual estrutura interna é afetada — o advisory oficial é sucinto, listando apenas os ranges de versão corrigidos. Não há, nas fontes disponíveis, indicação de qual função exata ou qual caminho (alocação de buffer, gerenciamento de job, ou context switch) contém o bug. Isso limita a análise técnica pública a nível de mecanismo geral (UAF em driver kernel exposto via ioctl), sem detalhamento de primitiva de exploração.

O vetor CVSS (AV:N/AC:L/PR:L/UI:N) reflete a modelagem do NVD, mas na prática a exploração de um driver kernel-mode como este exige execução de código no dispositivo (app instalado ou processo com acesso ao nó de dispositivo do driver), não exploração puramente remota pela rede — o componente de rede no vetor é uma característica da metodologia de scoring do NVD para esse tipo de driver, não um caminho de ataque direto pela internet.

Cómo se explota

A exploração requer que o atacante já tenha capacidade de executar código no dispositivo com privilégios de usuário comum (ex.: um app instalado, sandboxed, sem privilégios administrativos) e acesso ao nó de dispositivo do driver Mali (tipicamente /dev/mali0 ou equivalente) para emitir sequências de ioctls. Não é necessária interação do usuário além da execução inicial do código malicioso. A complexidade de exploração de use-after-free em kernel costuma envolver disputa de timing (corrida) para forçar o uso da memória já liberada antes de realocação por outro objeto controlado pelo atacante — mas os detalhes públicos sobre a técnica específica usada nesta CVE não estão documentados nas fontes disponíveis.

O resultado da exploração bem-sucedida é escalonamento de privilégio para root (execução de código no contexto de kernel) ou divulgação de conteúdo de memória do kernel, dependendo de como o atacante manipula a memória liberada.

A CISA incluiu a CVE no catálogo KEV em julho de 2023, confirmando exploração ativa. O contexto usual para exploração dessa classe de vulnerabilidade em drivers Mali é como componente de cadeias de comprometimento em dispositivos móveis — usada para escapar de sandbox de aplicativo e obter privilégio elevado no sistema —, mas as fontes consultadas não trazem atribuição de campanha, ator ou exploit público específico.

Versiones

Afectadas
Bifrost r16p0 até antes de r30p0; Valhall r19p0 até antes de r30p0; Midgard r28p0 até r30p0.
Corregidas en
Bifrost r30p0; Valhall r30p0; Midgard — versão corrigida posterior a r30p0, número exato não especificado nas fontes consultadas (conferir advisory oficial da Arm).

Cómo protegerse

A correção oficial é atualizar o driver kernel do Mali GPU para a versão r30p0 nas famílias Bifrost e Valhall. Para a família Midgard, o advisory da Arm indica correção após r30p0, mas o número exato da versão corrigida não está especificado nas fontes disponíveis — verificar diretamente o advisory da Arm (Mali GPU Kernel Driver Vulnerabilities) para a versão exata aplicável ao branch Midgard antes de considerar o ambiente corrigido.

Como esse driver é entregue por fabricantes de SoC/dispositivo (não diretamente pela Arm ao usuário final), a correção geralmente chega via atualização de firmware/kernel do fabricante do dispositivo — o que costuma ter defasagem significativa em relação à publicação do patch upstream. Se a atualização não estiver disponível para o dispositivo, não há mitigação de configuração que neutralize a UAF em si; controles compensatórios possíveis incluem restringir por SELinux/policy o acesso ao nó de dispositivo do driver Mali a processos privilegiados específicos, reduzindo a superfície de apps de terceiros capazes de emitir os ioctls vulneráveis — mas isso quebra funcionalidade de renderização gráfica de apps normais e tem custo operacional alto.

Não há mitigação via WAF ou controle de rede, já que a exploração ocorre localmente no dispositivo, não pela rede.

Cómo detectar

Não há assinatura pública ou IOC conhecido específico para esta CVE nas fontes consultadas. Em nível de host, sinais indiretos a observar incluem: crashes ou panics do kernel associados ao módulo do driver Mali (mensagens de kernel log mencionando 'mali' em contexto de falha de memória), sequências anômalas de ioctls direcionadas ao nó de dispositivo do driver GPU vindas de processos de app comuns, ou comportamento pós-exploração típico de escalonamento de privilégio (processo de app ganhando UID root inesperadamente). Como a exploração é local e ocorre dentro do kernel, detecção confiável tipicamente depende de instrumentação de kernel (KASAN, auditoria de syscall/ioctl) que não está presente na maioria dos dispositivos em produção — na prática, a ausência de telemetria adequada nesses dispositivos é a razão pela qual a exploração passou despercebida até ser adicionada ao KEV.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
. The Arm Mali GPU kernel driver allows an unprivileged user to achieve access to freed memory, leading to information disclosure or root privilege escalation. This affects Bifrost r16p0 through r29p0 before r30p0, Valhall r19p0 through r29p0 before r30p0, and Midgard r28p0 through r30p0.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a