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

VetorAV: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

BDU:2024-08405
CESA-2022_7683
CVE-2021-47103
OPENSUSE-SU-2024_2947-1
RHSA-2022:7683
RHSA-2022:8267
RHSA-2022_7683
RHSA-2022_8267
SUSE-SU-2024:2360-1
SUSE-SU-2024:2381-1
SUSE-SU-2024:2561-1
SUSE-SU-2024:2894-1
SUSE-SU-2024:2939-1
SUSE-SU-2024:2947-1
SUSE-SU-2026:2111-1
SUSE-SU-2026:2202-1
USN-7332-1
USN-7332-2
USN-7332-3

Produtos afetados

Astra Linux
Centos
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu