← back
CVE-2022-22706highunder attackCWE-119

CVE-2022-22706

71Vexday Risk Score

Prioritize patching. It under exploitation confirmed by CISA and has a public proof of concept.

ssvc Actcvss 7.8epss 1.1%
from disclosure to weapon1614 days
Published on NVDMar 3
1st PoC+1614d
CISA KEV+392d
exploitation probability
1.1%top 37% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 public exploit(s)
Action required by CISAfederal deadline: 2023-04-20

Apply updates per vendor instructions.

Summary

Falha no driver de kernel do Arm Mali GPU que permite a um usuário sem privilégios obter acesso de escrita em páginas de memória marcadas como somente leitura. Está no catálogo KEV da CISA com exploração confirmada, mas o CVSS 7.8 exige acesso local prévio (PR:L) — não é uma falha explorável remotamente por si só, e sim uma peça de escalonamento de privilégios/corrupção de memória usada dentro de uma cadeia maior de exploração, típica em comprometimento de dispositivos Android e outros SoCs que usam GPU Mali.

Technical detail

A Arm classifica a falha apenas como 'unspecified vulnerability' em seu advisory de segurança, sem detalhar o componente exato do driver ou o fluxo de código afetado. O CISA KEV mapeia a falha para CWE-119 (Improper Restriction of Operations within the Bounds of a Memory Buffer), indicando um problema de gerenciamento de memória no driver de kernel — não no firmware da GPU nem no userspace.

O efeito prático é a quebra da separação de permissões de página: uma página mapeada como read-only para o processo (por exemplo, memória compartilhada entre CPU e GPU alocada pelo driver Mali) passa a aceitar escrita a partir de um contexto sem privilégio elevado. Isso é consistente com classes de bugs recorrentes em drivers Mali — manipulação incorreta de mapeamentos de memória (mmap/GPU MMU), contagem de referência de buffers, ou validação insuficiente de flags de proteção ao criar/reutilizar alocações.

O fornecedor não publicou write-up técnico detalhado nem prova de conceito pública nas fontes catalogadas; a Arm historicamente divulga essas falhas em lote (múltiplos CVEs por boletim) sem análise root-cause aberta ao público, o que limita a profundidade de qualquer descrição técnica além da fornecida oficialmente.

How it’s exploited

Para explorar a falha, o atacante precisa de execução de código local no dispositivo — ou seja, já ter conseguido rodar algo como aplicativo ou processo sem privilégio no sistema (PR:L no vetor CVSS). A partir daí, interage com o driver Mali (via ioctl ou chamadas de mapeamento de memória expostas pelo device node do GPU) para obter escrita em páginas que deveriam ser somente leitura, o que normalmente é usado para corromper estruturas de kernel ou tabelas de página e escalar para execução com privilégios de kernel ou de sistema.

Essa característica — não ser uma falha de entrada remota, mas um primitivo de escalonamento local — é o motivo de estar no KEV: vulnerabilidades de GPU Mali com esse padrão têm sido historicamente encadeadas em campanhas de spyware comercial contra dispositivos móveis, onde o vetor inicial (navegador, app malicioso, mensagem) entrega o código que dispara essa etapa de escalonamento de privilégio. A CISA não detalha o ator ou a campanha associada no registro do KEV, apenas confirma exploração ativa.

Não há PoC pública documentada nas fontes catalogadas nem detalhamento de payload; a ação recomendada pela CISA é genérica ('apply updates per vendor instructions'), o que reforça que o conhecimento técnico completo do exploit não está disponível publicamente — apenas o fornecedor e possivelmente os operadores da campanha detectada o possuem.

Versions

Affected
Arm Mali GPU Kernel Driver: Midgard r26p0 até r31p0; Bifrost r0p0 até r35p0; Valhall r19p0 até r35p0.
Fixed in
Não determinado com precisão nas fontes lidas. O fornecedor indica correção em versões posteriores às faixas afetadas (acima de r31p0 para Midgard e acima de r35p0 para Bifrost e Valhall); a versão exata de cada branch deve ser confirmada no advisory oficial da Arm (developer.arm.com/support/arm-security-updates/mali-gpu-kernel-driver), cujo conteúdo detalhado não foi possível verificar diretamente para esta pesquisa.

How to protect

A correção definitiva é atualizar o driver de kernel Mali para uma versão acima da faixa vulnerável indicada pela Arm (posterior a r31p0 na linha Midgard, r35p0 na linha Bifrost e r35p0 na linha Valhall — a versão exata de correção por branch deve ser confirmada no advisory oficial da Arm, pois seu conteúdo detalhado não foi possível verificar diretamente a partir das fontes disponíveis). Em dispositivos Android, essa atualização normalmente chega via boletim de segurança do fabricante do SoC/OEM, não via Arm diretamente — o usuário final depende do vendor patch level do dispositivo.

Não há paliativo de configuração conhecido: como o bug está no driver de kernel que faz a ponte entre CPU e GPU, não existe flag de userspace ou mitigação de WAF/rede aplicável — a superfície é local e de kernel. A única redução de risco real sem atualizar é limitar a superfície de execução de código não confiável no dispositivo (controle de instalação de apps, isolamento de processos, atualização do SO), o que reduz a chance de o atacante chegar ao ponto de ter execução local necessária para acionar a falha.

Não funciona como mitigação: reiniciar o dispositivo, remover apps específicos após infecção (não corrige a vulnerabilidade em si, só remove artefatos), ou confiar em antivírus/EDR de userspace para bloquear a interação com o driver — a exploração ocorre em nível de kernel e pode ocorrer antes que ferramentas de detecção em userspace tenham visibilidade.

How to detect

Não há assinatura de rede aplicável — a exploração ocorre localmente via chamadas ao driver de kernel (device node da GPU), sem tráfego de rede associado à etapa de escalonamento em si. Em nível de host, sinais possíveis incluem crashes ou comportamento anômalo do processo do driver Mali (kernel panics, entradas de log relacionadas a mapeamento de memória do GPU) e, em análise forense de dispositivos móveis comprometidos, presença de processos ou binários que interagem diretamente com o device node do Mali fora do padrão esperado de apps legítimos. Não existe indicador de comprometimento público e confiável documentado nas fontes catalogadas; a confirmação de exploração geralmente vem de análise forense pós-incidente, não de detecção em tempo real.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Arm Mali GPU Kernel Driver allows a non-privileged user to achieve write access to read-only memory pages. This affects Midgard r26p0 through r31p0, Bifrost r0p0 through r35p0, and Valhall r19p0 through r35p0.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · n/a
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.