← back
CVE-2020-0069highunder attackCWE-787

CVE-2020-0069

76Vexday Risk Score

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

ssvc Actcvss 7.8epss 1.3%
from disclosure to weapon0 days
Published on NVDMar 10
1st PoCSep 6
CISA KEV+603d
exploitation probability
1.3%top 32% of all CVEs
observed exploitation
yesCISA + VulnCheck
8 public exploit(s)
Action required by CISAfederal deadline: 2022-05-03

Apply updates per vendor instructions.

Summary

Falha de escrita fora dos limites (CWE-787) nos ioctl handlers do driver Command Queue (CMDQ) da MediaTek, presente em diversos SoCs usados por múltiplos fabricantes Android, combinada com ausência de restrições SELinux adequadas no device node correspondente. Permite escalonamento de privilégio local a partir de um app comum, sem interação do usuário — e está confirmada como explorada ativamente in-the-wild, integrando a cadeia de rooting/malware 'AbstractEmu'.

Technical detail

O driver CMDQ da MediaTek expõe interfaces ioctl que processam dados vindos diretamente do userspace sem sanitização suficiente de tamanho/limites. Isso resulta em uma escrita fora dos limites de um buffer no contexto do kernel (CWE-787), que um atacante pode usar para corromper memória do kernel de forma controlada.

O segundo componente da falha, tão importante quanto o primeiro, é que o node de dispositivo correspondente ao CMDQ não tinha as restrições de política SELinux que deveriam impedir processos de app comuns de abri-lo e enviar ioctls diretamente. Sem essa barreira de controle de acesso obrigatório, a superfície de ataque do driver ficou exposta a qualquer processo capaz de chamar ioctl no device, não apenas a componentes privilegiados do sistema.

O CVE foi documentado pela Google sob o componente 'MediaTek components' do bulletin de março/2020, referenciado internamente como A-147882143 / M-ALPS04356754. O bulletin não vincula um changelist público do AOSP (marcado com asterisco), o que indica que a correção foi distribuída pela MediaTek diretamente aos fabricantes parceiros, fora do repositório público — dificultando a auditoria independente do diff exato.

How it’s exploited

O vetor é estritamente local: o atacante precisa já ter capacidade de executar código no dispositivo, tipicamente via um aplicativo instalado (mesmo sem permissões especiais), que abre o device node do CMDQ e envia ioctls malformados. O vetor CVSS (AV:L/PR:L) reflete isso — não é uma falha explorável remotamente, e a frase da descrição oficial ('no additional execution privileges needed') deve ser lida como 'não precisa de privilégios de sistema/root prévios', não como 'não precisa de execução de código local'.

A CISA confirma exploração ativa no catálogo KEV, associando o CVE-2020-0069 à campanha de malware Android 'AbstractEmu', que encadeava esta falha com CVE-2019-2215 (use-after-free no driver Binder) e CVE-2020-0041 (EoP no Binder) para obter root completo em dispositivos-alvo e estabelecer persistência.

O resultado final da exploração é escalonamento de um app sem privilégios para controle total do kernel/root, dando ao atacante acesso irrestrito ao sistema, dados de outros apps e capacidade de instalar componentes persistentes.

Versions

Affected
Dispositivos Android com chipsets MediaTek que incluem o driver Command Queue (CMDQ) vulnerável. O Android Security Bulletin (categoria 'MediaTek components', patch level 2020-03-05) não especifica faixa numérica de versões de kernel/driver. Fabricantes individuais publicaram suas próprias listas de builds afetadas por modelo — a Huawei, por exemplo, listou dezenas de modelos (Columbia, Honor 20 Pro, HUAWEI Y6 2019, nova 3/4, Honor 8A, Honor View 20, entre outros) com versões anteriores às builds corrigidas específicas de cada linha.
Fixed in
Nível de patch de segurança Android 2020-03-05 ou posterior, condicionado à integração do fix da MediaTek pelo fabricante (sem changelist público no AOSP). No caso Huawei, as builds corrigidas por modelo variam (ex.: 10.0.0.177(C10E3R1P4) para Berkeley-L09, 9.1.0.340(C00E333R1P1T8) para Cornell-AL00A, 10.0.0.194(C636E3R3P1)/10.0.0.202(C10E3R3P2) para HONOR 20 PRO, entre outras listadas no advisory específico do fabricante, publicadas entre maio e setembro de 2020).

How to protect

A correção definitiva é aplicar o nível de patch de segurança Android 2020-03-05 ou posterior, desde que o fabricante do dispositivo tenha efetivamente integrado o patch da MediaTek para o CMDQ (o bulletin da AOSP não traz um CL público, então a correção depende de cada OEM ter recebido e aplicado o fix da MediaTek). Verificar o nível de patch de segurança do dispositivo não garante automaticamente a correção deste CVE específico se o fabricante não empacotou a atualização do driver.

A Huawei, por exemplo, publicou builds específicas por modelo (Columbia, Honor 20 Pro, HUAWEI Y6 2019, nova 3/4, entre outros) a partir de maio de 2020, com revisões subsequentes até setembro de 2020 — cada modelo tem sua própria versão-alvo, listada no advisory do fabricante. Não existe mitigação temporária declarada pelo fornecedor ('Temporary Fix: None' no advisory da Huawei); a única forma de reduzir exposição sem atualizar é impedir a instalação de aplicativos não confiáveis, já que a exploração exige execução de código local — mas isso não neutraliza a vulnerabilidade em si, apenas reduz a chance de um app malicioso chegar ao dispositivo.

Como a falha combina bug de memória com ausência de política SELinux, não há flag de configuração no userspace que mitigue isso sem alterar o próprio driver ou a política MAC do sistema — ambas mudanças que só chegam via atualização de firmware/kernel do fabricante.

How to detect

Não há assinatura de rede ou log de aplicação associada, já que a exploração ocorre inteiramente no kernel via chamadas ioctl a um device node local. Um sinal indireto possível é a presença de negações de SELinux (avc: denied) envolvendo o device node do CMDQ antes da correção, indicando tentativas de acesso por processos que não deveriam ter permissão — mas isso não é uma detecção documentada publicamente para este CVE, e sua ausência não indica ausência de exploração. Indicadores de comprometimento pós-exploração ligados à campanha AbstractEmu (apps de rooting não solicitados, elevação inesperada de privilégio de processos) são mais confiáveis como sinal indireto do que qualquer log específico deste driver.

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.
In the ioctl handlers of the Mediatek Command Queue driver, there is a possible out of bounds write due to insufficient input sanitization and missing SELinux restrictions. 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-147882143References: M-ALPS04356754
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected products
n/a · Android
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.