UEFI Secure Boot коргоосун айланып өтүүгө мүмкүндүк берген GRUB2деги эки алсыздык

Раскрыты сведения о двух уязвимостях в загрузчике GRUB2, которые могут привести к выполнению кода при использовании специально оформленных шрифтов и обработке определённых Unicode-последовательностей. Уязвимости могут использоваться для обхода механизма верифицированной загрузки UEFI Secure Boot.

Белгиленген кемчиликтер:

  • CVE-2022-2601 — переполнение буфера в функции grub_font_construct_glyph() при обработке специально оформленных шрифтов в формате pf2, возникающее из-за неверного расчёта параметра max_glyph_size и выделения области памяти, заведомо меньшей, чем необходимо для размещения глифов.
  • CVE-2022-3775 — запись за пределы выделенной области памяти при отрисовке некоторых последовательностей Unicode специально оформленным шрифтом. Проблема присутствует в коде обработки шрифтов и вызвана отсутствием должных проверок соответствия ширины и высоты глифа размеру имеющейся битовой карты. Атакующий может подобрать ввод таким образом, чтобы вызвать запись хвоста данных на пределами выделенного буфера. Отмечается, что несмотря на сложность эксплуатации уязвимости, доведение проблемы до выполнения кода не исключается.

Исправление опубликовано в виде патча. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Ubuntu, SUSE, RHEL, Fedora, Debian. Для устранения проблем в GRUB2 недостаточно просто обновить пакет, потребуется также сформировать новые внутренние цифровые подписи и обновлять инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку.

Көпчүлүк Linux дистрибьюторлору UEFI Secure Boot режиминде текшерилген жүктөө үчүн Microsoft тарабынан санариптик кол коюлган кичинекей катмарды колдонушат. Бул катмар GRUB2ди өзүнүн сертификаты менен текшерет, бул дистрибьютордук иштеп чыгуучуларга Microsoft тарабынан тастыкталган ар бир ядро ​​жана GRUB жаңыртууларына ээ болбоого мүмкүндүк берет. GRUB2деги алсыздыктар сизге кодуңузду ийгиликтүү текшерүү стадиясында ишке ашырууга мүмкүндүк берет, бирок операциялык системаны жүктөөдөн мурун, Secure Boot режими активдүү болгондо ишеним чынжырына кирүү жана андан аркы жүктөө процессин толук көзөмөлдөөгө, анын ичинде башка OS жүктөө, операциялык тутум компоненттеринин системасын өзгөртүү жана Lockdown коргоону айланып өтүү.

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

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

Source: opennet.ru

Комментарий кошуу