← voltar
CVE-2021-39793highsob ataqueCWE-787

CVE-2021-39793

51Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA.

ssvc Actcvss 7.8epss 0.7%
da publicação à arma
Publicada no NVD16 de mar.
CISA KEV+26d
probabilidade de exploração
0.7%top 47% das CVEs
exploração observada
simCISA + VulnCheck
Ação exigida pela CISAprazo federal: 2022-05-02

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

Afetadas
Não há uma faixa de versão de kernel/AOSP publicamente especificada pelo fornecedor. A descrição oficial indica apenas 'Product: Android, Versions: Android kernel'. Para dispositivos Google Pixel, o boletim considera vulneráveis todos os níveis de patch de segurança anteriores a 2022-03-05.
Corrigidas em
Nível de patch de segurança Google Pixel 2022-03-05 ou posterior corrige a falha nos dispositivos Pixel suportados. Não há confirmação nas fontes disponíveis sobre versões corrigidas específicas de driver Mali kbase para outros fabricantes de dispositivos Android.

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.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
In kbase_jd_user_buf_pin_pages of mali_kbase_mem.c, there is a possible out of bounds write due to a logic error in the code. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android kernelAndroid ID: A-210470189References: N/A
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · Android