Du qelsiyên di GRUB2 de ku dihêle hûn parastina UEFI Secure Boot derbas bikin

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

Qelsiyên naskirî:

  • 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 используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимости в GRUB2 позволяют добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, в том числе для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты Lockdown.

Ji bo astengkirina qelsiyê bêyî betalkirina îmzeya dîjîtal, belavok dikarin mekanîzmaya SBAT (UEFI Secure Boot Advanced Targeting) bikar bînin, ku ji bo GRUB2, shim û fwupd di piraniya belavokên Linux-ê yên populer de tê piştgirî kirin. SBAT bi Microsoft-ê re bi hev re hate pêşve xistin û tê de metadatayên din li pelên îcrakar ên hêmanên UEFI zêde dikin, ku di derheqê çêker, hilber, pêkhate û guhertoyê de agahdarî vedihewîne. Metadata diyarkirî bi îmzeyek dîjîtal ve hatî pejirandin û dikare ji bo UEFI Secure Boot veqetandî di navnîşên hêmanên destûr an qedexekirî de were destnîşan kirin.

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

Source: opennet.ru

Add a comment