21.02.2024

Уязвимость в патчах Red Hat к загрузчику GRUB2, позволяющая обойти проверку пароля

Раскрыта информация об уязвимости (CVE-2023-4001) в патчах к загрузчику GRUB2, подготовленных компанией Red Hat. Уязвимость позволяет на многих системах с UEFI обойти проверку пароля, выставленного в GRUB2 для ограничения доступа к загрузочному меню или командной строке загрузчика. Уязвимость вызвана изменением, добавленным компанией Red Hat в пакет с GRUB2, поставляемый в RHEL и Fedora Linux. Проблема не проявляется в основном проекте GRUB2 и затрагивает только дистрибутивы, применившие дополнительные патчи Red Hat.

Проблема затрагивает логику использования UUID для поиска загрузчиком устройства с файлом конфигурации (например, «/boot/efi/EFI/fedora/grub.cfg»), содержащим хэш пароля. Для обхода аутентификации пользователь, имеющий физический доступ к компьютеру, может подключить внешний накопитель, такой как USB Flash, выставив для него UUID, повторяющий идентификатор загрузочного раздела /boot атакуемой системы.

Многие UEFI-системы в первую очередь обрабатывают внешние накопители и ставят их в списке обнаруженный устройств перед стационарными накопителями, поэтому более приоритетным при обработке будет раздел /boot, подготовленный атакующим, и, соответственно, из этого раздела GRUB2 попытается загрузить файл конфигурации. В процессе поиска раздела при помощи команды «search» в GRUB2 выполняется определение только первого совпадения UUID, после чего поиск прекращается. Если в определённом разделе основной файл конфигурации не будет найден, GRUB2 выведет приглашение командной строки, позволяющее полностью контролировать дальнейший процесс загрузки.

Для определения UUID раздела локальным непривилегированным пользователем может использоваться утилита «lsblk», но посторонний пользователь, не имеющий доступа к системе, но способный наблюдать загрузочный процесс, в некоторых дистрибутивах может определить UUID из показываемых во время загрузки диагностических сообщений. Уязвимость устранена Red Hat через добавление к команде «search» нового аргумента, позволяющего привязать операцию сканирования UUID только к блочным устройствам, используемым для запуска загрузочного менеджера (т.е. раздел /boot должен быть только на том же диске, что и системный раздел EFI).

Источник: https://www.opennet.ru/opennews/art.shtml?num=60439 Источник.