Vulnerabilidade em patches da Red Hat para o bootloader GRUB2 que permite ignorar a verificação de senha

Foram divulgadas informações sobre uma vulnerabilidade (CVE-2023-4001) em patches para o carregador de boot GRUB2 preparado pela Red Hat. A vulnerabilidade permite que muitos sistemas com UEFI ignorem a verificação de senha definida no GRUB2 para restringir o acesso ao menu de inicialização ou à linha de comando do carregador de inicialização. A vulnerabilidade é causada por uma alteração adicionada pela Red Hat ao pacote GRUB2 fornecido com RHEL e Fedora Linux. O problema não aparece no projeto GRUB2 principal e afeta apenas distribuições que aplicaram patches adicionais do Red Hat.

O problema é causado por um erro na lógica de como o UUID é usado pelo carregador de boot para encontrar um dispositivo com um arquivo de configuração (por exemplo, "/boot/efi/EFI/fedora/grub.cfg") contendo uma senha cerquilha. Para ignorar a autenticação, um usuário com acesso físico ao computador pode conectar uma unidade externa, como um USB Flash, configurando-a para um UUID que corresponda ao identificador da partição de inicialização/boot do sistema atacado.

Muitos sistemas UEFI processam unidades externas primeiro e as colocam na lista de dispositivos detectados antes das unidades estacionárias, de modo que a partição /boot preparada pelo invasor terá maior prioridade de processamento e, consequentemente, o GRUB2 tentará carregar o arquivo de configuração desta partição. Ao procurar uma partição usando o comando "search" no GRUB2, apenas a primeira correspondência de UUID é determinada, após a qual a pesquisa é interrompida. Se o arquivo de configuração principal não for encontrado em uma partição específica, o GRUB2 emitirá um prompt de comando que permitirá que você tenha controle total sobre o restante do processo de inicialização.

O utilitário "lsblk" pode ser usado para determinar o UUID de uma partição por um usuário local sem privilégios, mas um usuário externo que não tem acesso ao sistema, mas pode observar o processo de inicialização, pode, em algumas distribuições, determinar o UUID a partir do diagnóstico mensagens mostradas durante a inicialização. A vulnerabilidade foi resolvida pela Red Hat adicionando um novo argumento ao comando "search" que permite que a operação de varredura UUID seja vinculada apenas a dispositivos de bloco usados ​​para executar o gerenciador de inicialização (ou seja, a partição /boot deve estar apenas no mesmo unidade como partição do sistema EFI).

Fonte: opennet.ru

Adicionar um comentário