PT-2021-8137 · Linux+6 · Linux Kernel+6
Syzbot
·
Publicado
2021-12-20
·
Atualizado
2025-03-13
·
CVE-2021-47103
CVSS v3.1
7.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 5.16.0-rc5-syzkaller
Descrição
A vulnerabilidade está relacionada ao uso da proteção RCU no componente inet do kernel Linux sem documentação clara. Especificamente, as sequências em tcp v4 do rcv() e tcp v6 do rcv() não seguem as regras padrão da RCU, o que pode levar a um erro de uso após liberação (use-after-free). Isso ocorre porque a operação de exclusão de um ponteiro protegido por RCU deve limpar o ponteiro antes que call rcu()/synchronize rcu() protejam a liberação real da memória. Em alguns casos, o dst pode ser liberado antes que sk->sk rx dst seja definido como NULL.
O problema foi relatado por syzbot e está relacionado à função
dst check em include/net/dst.h e tcp v4 early demux em net/ipv4/tcp ipv4.c. A vulnerabilidade pode ser explorada para potencialmente elevar privilégios no sistema.Recomendações
Para resolver este problema, atualize o kernel do Linux para uma versão que inclua a correção para esta vulnerabilidade. Especificamente, certifique-se de que a versão do kernel seja 5.16.0-rc5-syzkaller ou posterior.
Como solução temporária, considere desativar as funções
tcp v4 do rcv() e tcp v6 do rcv() até que um patch esteja disponível. No entanto, isso pode ter implicações significativas no desempenho e deve ser cuidadosamente avaliado antes da implementação.Também é recomendável restringir o acesso à função vulnerável
dst check em include/net/dst.h para minimizar o risco de exploração.Observação: O acima re
Correção
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Astra Linux
Centos
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu