В загрузчике GRUB2 выявлена 21 уязвимость

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

Выявленные уязвимости:

  • CVE-2024-45774: запись за границу буфера при разборе специально оформленных JPEG-изображений.
  • CVE-2024-45776, CVE-2024-45777: целочисленные переполнения при чтении специально оформленных mo-файлов, приводящие к записи за пределы буфера.
  • CVE-2024-45778, CVE-2024-45779: целочисленные переполнения при работе с повреждённой файловой системой BFS, приводящие к переполнению буфера.
  • CVE-2024-45780: целочисленное переполнение при обработке специально оформленных tar-архивов, приводящее к записи за пределы буфера.
  • CVE-2024-45781, CVE-2025-0677: переполнения буфера при работе с повреждённой файловой системой UFS.
  • CVE-2024-45782, CVE-2025-1125: переполнения буфера при монтировании специально оформленного раздела HFS.
  • CVE-2025-0622: обращение к памяти после её освобождения при манипуляциях с модулями, может привести к выполнению кода атакующего.
  • CVE-2025-0624: переполнение буфера при сетевой загрузке.
  • CVE-2025-0678: переполнения буфера при работе с повреждённой файловой системой Squash4.
  • CVE-2025-0684: переполнения буфера при манипуляциях с символическими ссылками в ФС Reiserfs.
  • CVE-2025-0685: переполнения буфера при манипуляциях с символическими ссылками в ФС JFS.
  • CVE-2025-0685: переполнения буфера при манипуляциях с символическими ссылками в ФС ROMFS.
  • CVE-2025-0689: переполнения буфера при работе со специально модифицированным разделом UDF.
  • CVE-2025-0690: переполнения буфера при получении специально оформленных данных с клавиатуры.
  • CVE-2025-1118: обход режима изоляции Lockdown и извлечение произвольного содержимого памяти через выполнение команды dump.
  • CVE-2024-45775: отсутствие проверки ошибки при выделении памяти при разборе переданных аргументов может привести к повреждению данных IVT (Interrupt Vector Table).
  • CVE-2024-45783: доступ по нулевому указателю при монтировании некорректной ФС HFS+.

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

Release. Ссылка here.