← volver
CVE-2021-0920mediumbajo ataqueCWE-416

CVE-2021-0920

43Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Attendcvss 6.4epss 0.9%
de la publicación al arma
Publicada en NVD15 dic
CISA KEV+159d
probabilidad de explotación
0.9%top 44% de las CVE
explotación observada
CISA + VulnCheck
Lo que declaran los fabricantes (VEX)

Declaraciones oficiales de los fabricantes en formato CSAF/VEX: si su producto está afectado, ya corregido o descartado — y por qué. Es afirmación del fabricante, no juicio de Vexday.

Corregido
43 productos (1364 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) · y otros 38
No afectado
3 productos (115 componentes)porque el código vulnerable no está presente en el producto
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)
Acción exigida por CISAplazo federal: 2022-06-13

Apply updates per vendor instructions.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
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).
Corregidas en
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.

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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
Productos afectados
n/a · Android