Vulnerabbiltajiet fi GRUB2 li jippermettulek tevita UEFI Secure Boot

В загрузчике GRUB2 устранено 7 уязвимостей, позволяющих обойти механизм UEFI Secure Boot и добиться запуска неверифицированного кода, например, осуществить внедрение вредоносного ПО, работающего на уровне загрузчика или ядра. Дополнительно отмечается одна уязвимость в прослойке shim, которая также позволяет обойти UEFI Secure Boot. Группа уязвимостей получила кодовое имя Boothole 3, по аналогии с аналогичными проблемами, ранее выявленными в загрузчике.

Для устранения проблем в GRUB2 и shim дистрибутивы смогут использовать механизм SBAT (UEFI Secure Boot Advanced Targeting), поддержка которого реализована для GRUB2, shim и fwupd. SBAT разработан совместно с Microsoft и подразумевает добавление в исполняемые файлы компонентов UEFI дополнительных метаданных, которые включают информацию о производителе, продукте, компоненте и версии. Указанные метаданные заверяются цифровой подписью и могут отдельно включаться в списки разрешённых или запрещённых компонентов для UEFI Secure Boot.

Il-biċċa l-kbira tad-distribuzzjonijiet tal-Linux jużaw saff żgħir ta' shim iffirmat b'mod diġitali minn Microsoft għal booting ivverifikat fil-modalità UEFI Secure Boot. Dan is-saff jivverifika GRUB2 biċ-ċertifikat tiegħu stess, li jippermetti lill-iżviluppaturi tad-distribuzzjoni li ma jkollhomx kull kernel u aġġornament tal-GRUB iċċertifikat minn Microsoft. Il-vulnerabbiltajiet f'GRUB2 jippermettulek tikseb l-eżekuzzjoni tal-kodiċi tiegħek fl-istadju wara l-verifika shim b'suċċess, iżda qabel it-tagħbija tas-sistema operattiva, tiddaħħal fil-katina ta 'fiduċja meta l-mod Secure Boot tkun attiva u tikseb kontroll sħiħ fuq il-proċess ta' boot ulterjuri, inkluż tagħbija OS ieħor, timmodifika sistema ta 'komponenti tas-sistema operattiva u bypass protezzjoni Lockdown.

Для устранения проблем в загрузчике дистрибутивам придётся сформировать новые внутренние цифровые подписи и обновлять инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку. До внедрения SBAT, обновление списка отозванных сертификатов (dbx, UEFI Revocation List) было обязательным условием полного блокирования уязвимости, так как атакующий, независимо от используемой операционной системы, мог для компрометации UEFI Secure Boot использовать загрузочный носитель со старой уязвимой версией GRUB2, заверенной цифровой подписью.

Вместо отзыва подписи SBAT позволяет блокировать её использование для отдельных номеров версий компонентов без необходимости отзыва ключей для Secure Boot. Блокирование уязвимостей через SBAT не требует использования списка отозванных сертификатов UEFI (dbx), а производится на уровне замены внутреннего ключа для формирования подписей и обновления GRUB2, shim и других поставляемых дистрибутивами загрузочных артефактов. В настоящее время поддержка SBAT уже добавлена в большинство популярных дистрибутивов Linux.

Vulnerabbiltajiet identifikati:

  • CVE-2021-3696, CVE-2021-3695- переполнения буфера в куче при обработке специально оформленных PNG-изображений, которое теоретически можно использовать для организации выполнения кода атакующего и обхода UEFI Secure Boot. Отмечается, что проблема трудно эксплуатируема, так как для создания рабочего эксплоита требуется учёт большого числа факторов и наличия сведений о раскладке памяти.
  • CVE-2021-3697- переполнение через нижнюю границу буфера (buffer underflow) в коде обработки JPEG-изображений. Эксплуатация проблемы требует получения сведений о раскладке памяти и находится примерно на том же уровне сложности, что и проблема с PNG (CVSS 7.5).
  • CVE-2022-28733 — целочисленное переполнение в функции grub_net_recv_ip4_packets(), позволяющее влиять на параметр rsm->total_len через отправку специально оформленного IP-пакета. Проблема отмечена как наиболее опасная из представленных уязвимостей (CVSS 8.1). При успешной эксплуатации уязвимость позволяет записать данные за границу буфера через выделение заведомо меньшего размера памяти.
  • CVE-2022-28734 — однобайтовое переполнение буфера при обработке разделённых HTTP-заголовков. Проблема может привести к повреждению метаданных GRUB2 (запись нулевого байта сразу за концом буфера) при разборе специально оформленных HTTP-запросов.
  • CVE-2022-28735 — проблема в верификаторе shim_lock, позволяющая загрузить файлы, не относящиеся к ядру. Уязвимость может быть использована для загрузки в режиме UEFI Secure Boot незаверенных цифровой подписью модулей ядра или непроверенного кода.
  • CVE-2022-28736 — обращение к уже освобождённой области памяти в функции grub_cmd_chainloader() через повторный запуск команды chainloader, используемой для загрузки операционных систем, не поддерживаемых в GRUB2. Эксплуатация может привести к выполнению кода атакующего, если злоумышленник сможет определить особенности распределения памяти в GRUB2
  • CVE-2022-28737 — переполнение буфера в прослойке shim, возникающее в функции handle_image() при загрузке и выполнении специально оформленных образов EFI.

Sors: opennet.ru

Żid kumment