← voltar
CVE-2021-0920mediumsob ataqueCWE-416

CVE-2021-0920

43Vexday Risk Score

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

ssvc Attendcvss 6.4epss 0.9%
da publicação à arma
Publicada no NVD15 de dez.
CISA KEV+159d
probabilidade de exploração
0.9%top 44% das CVEs
exploração observada
simCISA + VulnCheck
O que os fabricantes declaram (VEX)

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.

Corrigido
43 produtos (1.364 componentes)
Red Hat Enterprise Linux BaseOS EUS (v.8.4) · Red Hat Enterprise Linux BaseOS EUS (v. 8.2) · Red Hat Enterprise Linux BaseOS (v. 8) · Red Hat Enterprise Linux Server (v. 7) · Red Hat Enterprise Linux BaseOS E4S (v. 8.1) · e outros 38
Não afetado
3 produtos (115 componentes)porque o código vulnerável não está presente no produto
Red Hat Enterprise Linux 9 · RHEL 7-based RHEV-H for RHEV 4 (build requirements) · RHEL 8-based RHEV-H for RHEV 4 (build requirements)
Ação exigida pela CISAprazo federal: 2022-06-13

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

Afetadas
Kernel Android anterior ao nível de patch de segurança 2021-11-05 (componentes de kernel afetados por CVE-2021-0920 conforme Android Security Bulletin de novembro de 2021). No ramo Linux LTS genérico, versões do pacote linux anteriores à correção aplicada no Debian (pré 4.9.290-1 no branch stretch/LTS).
Corrigidas em
Dispositivos Android com nível de patch de segurança 2021-11-05 ou posterior. No Debian LTS, pacote linux 4.9.290-1 (branch stretch, DLA-2843-1). Não há confirmação nas fontes de um número de versão específico do kernel Linux mainline upstream que introduziu o fix.

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.

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 unix_scm_to_skb of af_unix.c, there is a possible use after free bug due to a race condition. This could lead to local escalation of privilege with System execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android kernelAndroid ID: A-196926917References: Upstream kernel
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
Produtos afetados
n/a · Android