CVE-2021-39793
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Apply updates per vendor instructions.
Resumo
Falha de escrita fora dos limites (CWE-787) no driver de kernel do GPU Mali da ARM (módulo kbase), usado no kernel Android, especificamente na função kbase_jd_user_buf_pin_pages de mali_kbase_mem.c. Um app malicioso sem privilégios especiais consegue escalar para execução em nível de kernel sem interação do usuário — por isso está no catálogo KEV da CISA com indícios de exploração direcionada e limitada já em 2022.
Detalhamento técnico
kbase_jd_user_buf_pin_pages é a rotina do driver Mali kbase responsável por 'pinar' (fixar em memória física) páginas de um buffer de user-space antes de submeter um job de GPU (JD = Job Dispatch). O Google descreve a causa como um erro de lógica no código que resulta em escrita fora dos limites do buffer alocado. Isso é típico de descompasso entre o tamanho/quantidade de páginas que o driver espera pinar e o que efetivamente é validado antes da escrita, permitindo que dados controlados pelo processo chamador corrompam memória do kernel adjacente à estrutura de páginas pinadas.
O componente é listado pelo Google como 'Display/Graphics' e classificado como EoP (Elevation of Privilege) de severidade High, dentro do Pixel Update Bulletin — ou seja, é tratado como driver de GPU específico de hardware/firmware, não como parte do AOSP público. O bug ID A-210470189 tem asterisco no boletim, o que indica que não há patch público disponível em AOSP: a correção está embutida nos binários de driver GPU distribuídos para dispositivos Pixel, não em código-fonte aberto revisável.
O vetor CVSS (AV:L/AC:L/PR:L/UI:N) descreve um atacante que já possui alguma execução de código no dispositivo (privilégio baixo, como um app instalado) e que, por meio de chamadas ao driver kbase — normalmente via ioctl no nó de dispositivo do GPU —, consegue acionar a condição de escrita indevida sem qualquer interação adicional do usuário e sem precisar de privilégios elevados prévios.
Como é explorada
A exploração exige que o atacante já tenha capacidade de executar código no dispositivo Android com privilégios de app comum — por exemplo, via uma aplicação maliciosa instalada ou através de uma vulnerabilidade anterior na cadeia (navegador, app de mensagens) que dê esse ponto de entrada. A partir daí, o atacante interage diretamente com o driver Mali kbase (tipicamente através de chamadas ioctl no dispositivo de GPU) para acionar a rotina de pinagem de páginas e induzir a escrita fora dos limites, corrompendo estruturas de memória do kernel e obtendo execução com privilégios de kernel — escalação completa de privilégio local.
O próprio boletim da Google observa que 'há indícios de que CVE-2021-22600 e CVE-2021-39793 podem estar sob exploração limitada e direcionada', o que motivou sua inclusão no catálogo KEV da CISA (adicionada em 2022-04-11, prazo de correção 2022-05-02). Esse padrão — EoP de kernel em GPU combinada com outra CVE de kernel na mesma leva — é consistente com cadeias de exploração usadas para escapar de sandbox de aplicativo e obter controle total do dispositivo, comum em campanhas de spyware direcionado, embora as fontes disponíveis não detalhem o ator ou a campanha específica.
Não há PoC público conhecido nem código de exploração divulgado nas fontes consultadas; a natureza 'closed-source' do driver (marcado com asterisco no boletim) dificulta ainda mais análise independente por pesquisadores fora do ecossistema Google/ARM.
Versões
Como se proteger
Para dispositivos Google Pixel, o boletim recomenda atualizar para o nível de patch de segurança 2022-03-05 ou posterior, que inclui a correção. Como a falha está no driver Mali kbase (fornecido como binário fechado para os dispositivos Pixel), não existe patch de código-fonte público em AOSP a aplicar manualmente — a correção só chega via atualização do firmware/driver de GPU distribuído pelo fabricante.
Para outros fabricantes que utilizam GPUs Mali da ARM (grande parte do mercado Android), a correção depende da distribuição de um driver kbase atualizado pelo próprio fabricante do SoC/dispositivo — as fontes disponíveis não confirmam se ou quando esses fornecedores replicaram a correção, então cada dispositivo precisa ser verificado individualmente pelo nível de patch de segurança do fabricante.
Não há mitigação de configuração ou WAF aplicável: é uma falha de kernel/driver local, não exposta por rede. O único controle compensatório real é reduzir a superfície de instalação de apps não confiáveis (já que a exploração exige execução de código local) e manter o dispositivo atualizado; isso não elimina o risco, apenas reduz a chance de um app malicioso alcançar o driver vulnerável.
Como detectar
Não há assinatura ou indicador de comprometimento público conhecido para essa exploração — é uma falha de memória em driver de kernel local, sem tráfego de rede associado. Sinais indiretos possíveis incluem crashes ou panics inesperados envolvendo o módulo kbase/Mali GPU nos logs de kernel (dmesg/kmsg), comportamento anômalo de apps que fazem chamadas ioctl não usuais ao nó de dispositivo da GPU, ou soluções de EDR móvel detectando escalonamento de privilégio pós-exploração. Nenhuma das fontes consultadas (Google, CISA/NVD) publicou IOCs ou regras de detecção específicas.