PT-2024-11170 · Linux+7 · Linux Kernel+7
Mark Rutland
·
Publicado
2021-06-05
·
Atualizado
2025-02-27
·
CVE-2021-47118
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.13-rc3
Descrição
A vulnerabilidade está relacionada à inicialização de
cad pid no kernel Linux. Durante a inicialização, kernel init freeable() inicializa cad pid com a estrutura pid da tarefa init. Posteriormente, quando cad pid é alterado por meio de um sysctl, proc do cad pid() incrementa a contagem de referências do novo pid por meio de get pid() e decrementa a contagem de referências do pid antigo por meio de put pid(). No entanto, como get pid() não foi chamado quando cad pid foi inicializado, uma referência que nunca foi incrementada é decrementada, o que pode levar à liberação prematura da estrutura pid da tarefa init. Isso pode causar referências pendentes à estrutura pid, resultando em um problema de uso após liberação (use-after-free) ao enviar sinais.Recomendações
Para resolver este problema, obtenha uma referência à struct pid da tarefa de inicialização ao atribuí-la a
cad pid. Isso pode ser feito chamando get pid() ao inicializar cad pid.Observação: A informação fornecida não especifica as versões exatas que são vulneráveis nem as versões que contêm a correção. No entanto, com base nas informações fornecidas, parece que as versões anteriores à 5.13-rc3 são afetadas.
Correção
Use After Free
Double Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Almalinux
Astra Linux
Centos
Linux Kernel
Red Hat
Rocky Linux
Suse
Ubuntu