CVE-2020-0069
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply updates per vendor instructions.
Resumen
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'.
Detalle técnico
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.
Cómo se explota
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.
Versiones
Cómo protegerse
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.
Cómo detectar
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.