PT-2021-24281 · Nix+1 · Nix+1

CVE-2021-45707

·

Publicado

2021-09-27

·

Atualizado

2022-10-28

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
**Nome do software vulnerável e versões afetadas:
versões 0.16.0 a 0.20.1 do nix crate
versões 0.21.x do nix crate anteriores à 0.21.2
versões 0.22.x do nix crate anteriores à 0.22.2
Descrição:
Foi descoberta uma falha no nix crate em que a função nix::unistd::getgrouplist pode chamar a função getgrouplist da libc com um parâmetro de comprimento maior do que o tamanho do buffer que ela fornece, resultando em uma gravação fora dos limites e corrupção de memória. Isso ocorre quando um usuário possui mais de 16 grupos. A função getgrouplist da libc recebe um parâmetro de entrada/saída ngroups que especifica o tamanho do buffer de grupos. Se o buffer for pequeno demais para armazenar todas as associações de grupo solicitadas pelo usuário, algumas implementações da libc modificarão ngroups para indicar o número real de grupos do usuário, além de retornar um erro. A vulnerabilidade exigiria a edição do arquivo /etc/groups para ser explorada, o qual geralmente só pode ser editado pelo usuário root.
Recomendações:
Para as versões 0.16.0 a 0.20.1 do nix crate, atualize para a versão 0.20.2 ou posterior.
Para as versões 0.21.x do nix crate anteriores à 0.21.2, atualize para a versão 0.21.2 ou posterior.
Para as versões 0.22.x do nix crate anteriores à 0.22.2, atualize para a versão 0.22.2 ou posterior.
Como solução temporária, considere restringir o número de grupos dos quais um usuário pode fazer parte para impedir a gravação fora dos limites.

Correção

Memory Corruption

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-45707
GHSA-76W9-P8MG-J927
GHSA-WGRG-5H56-JG27
RUSTSEC-2021-0119

Produtos afetados

Debian
Nix