CVE-2021-0920
Priorize a correção. Ela está sob exploração confirmada pelo CISA.
Declarações oficiais dos fabricantes em formato CSAF/VEX: se o produto deles está afetado, já corrigido ou descartado — e por quê. É afirmação do fabricante, não juízo do Vexday.
Apply updates per vendor instructions.
Resumo
Use-after-free por condição de corrida na função unix_scm_to_skb() do subsistema AF_UNIX do kernel Linux, explorável em dispositivos Android para escalada de privilégio local. O boletim de segurança do Android de novembro de 2021 indica exploração limitada e direcionada antes da divulgação pública, e a CISA confirmou exploração ativa ao incluir a falha no catálogo KEV.
Detalhamento técnico
A falha está em unix_scm_to_skb(), função que copia dados de controle SCM (Socket Control Message) — usados para passar credenciais e file descriptors via SCM_RIGHTS em sockets AF_UNIX — para o buffer skb associado à mensagem. O problema é classificado como race condition (CWE-362) que degenera em use-after-free (CWE-416): sob concorrência específica de threads manipulando o mesmo socket ou estrutura de controle, uma referência pode ser liberada enquanto outra parte do kernel ainda a acessa, corrompendo memória do kernel.
O fornecedor (Google/AOSP) não detalhou a sequência exata de código nem publicou análise técnica aprofundada além da descrição padrão de bulletin; o report interno é rastreado como Android ID A-196926917, com referência apenas a 'Upstream kernel', ou seja, a correção seguiu um fix do kernel Linux mainline, não um patch exclusivo Android.
O vetor CVSS (AV:L/AC:H/PR:H/UI:N) resume as pré-condições: acesso local, privilégios altos já concedidos, e alta complexidade de ataque — típico de bugs de corrida onde o atacante precisa ganhar uma janela de tempo estreita, geralmente disparando múltiplas syscalls concorrentes sobre sockets AF_UNIX até acertar o timing.
Como é explorada
Explorar essa falha exige execução de código local no dispositivo Android com privilégios já elevados (PR:H) — não é uma vulnerabilidade explorável remotamente nem por um app comum sem contexto privilegiado prévio. Isso normalmente aparece como um elo intermediário em cadeias de exploração: um atacante que já obteve execução em um processo com certo nível de acesso usa esta falha para pular para privilégios de sistema (kernel), tipicamente após já ter conseguido rodar código nativo via outra vulnerabilidade de entrada (app maliciosa, exploit de renderer de browser, etc.).
A complexidade alta (AC:H) reflete a natureza de race condition: o atacante precisa disparar operações concorrentes sobre o mesmo socket AF_UNIX/mensagens SCM em threads paralelas para vencer a corrida e acionar o use-after-free de forma confiável, o que normalmente demanda múltiplas tentativas ou técnicas de heap grooming para tornar a exploração determinística.
O boletim da Android Security de novembro de 2021 registra 'indications that CVE-2021-1048 and CVE-2021-0920 may be under limited, targeted exploitation' — ou seja, o próprio fornecedor sinaliza suspeita de uso em campanhas direcionadas antes da correção pública, o que motivou a inclusão no catálogo KEV da CISA em maio de 2022. Não há detalhes públicos sobre quem exploindo, o alvo ou a cadeia completa de exploit usada.
Versões
Como se proteger
A correção oficial está nos patches de kernel referenciados como 'Upstream kernel' e distribuída via nível de patch de segurança Android 2021-11-05 ou posterior (bulletin de novembro de 2021). Dispositivos Android devem ser atualizados para esse nível de patch ou posterior — a versão exata do commit upstream do kernel Linux que corrige o AF_UNIX não foi detalhada nas fontes consultadas, então não há número de versão de kernel Linux mainline específico para citar com segurança.
Distribuições Linux fora do contexto Android também trataram a mesma CVE em seus branches de kernel — por exemplo, o Debian LTS corrigiu a falha no pacote linux versão 4.9.290-1 (branch stretch/LTS), o que indica que o bug afeta o kernel Linux genérico, não apenas builds Android, e cada distribuição/vendor tem seu próprio calendário de backport.
Se a atualização de patch level não for possível imediatamente, não há mitigação de configuração conhecida e documentada para este bug específico (diferente de outras CVEs do mesmo boletim, como CVE-2021-41864, que tem sysctl de contenção). O controle compensatório real é a atualização do patch de segurança do dispositivo; soluções de MDM/EMM que restringem instalação de apps de fontes não confiáveis reduzem a chance de um atacante conseguir a execução de código local necessária como pré-requisito, mas não eliminam a vulnerabilidade em si.
Como detectar
Não há assinatura de rede a procurar, pois a exploração é inteiramente local (acesso a sockets AF_UNIX dentro do próprio dispositivo). Sinais possíveis incluem crashes ou panics de kernel relacionados a corrupção de memória em af_unix.c em logs dmesg/kernel log, ou comportamento anômalo de processos que deveriam operar em sandbox mas obtêm privilégios de sistema. Ferramentas de EDR móvel com telemetria de kernel e ferramentas de análise de crash (KASAN, syzkaller-style fuzzing logs em builds de debug) são os únicos meios realistas de detectar tentativas; em produção, sem instrumentação de kernel dedicada, não há sinal confiável de exploração retroativa.