קריטיש וואַלנעראַביליטי אין די GRUB2 באָאָטלאָאַדער וואָס אַלאַוז איר צו בייפּאַס UEFI Secure Boot

В загрузчике GRUB2 אנטפלעקט 8 уязвимостей. Наиболее опасная די פּראָבלעם (CVE-2020-10713), которой присвоено кодовое имя BootHole, даёт возможность обойти механизм UEFI Secure Boot и добиться установки неверифицированного вредоносного ПО. Особенностью данной уязвимости является то, что для её устранения не достаточно обновить GRUB2, так как атакующий может использовать загрузочный носитель со старой уязвимой версией, заверенной цифровой подписью. Атакующий может скомпрометировать процесс верификации не только Linux, но и других операционных систем, включая פֿענצטער.

Проблема решается только обновлением в системе списка отозванных сертификатов (dbx, UEFI Revocation List), но в этом случае будет потеряна возможность использования старых установочных носителей c Linux. Некоторые производители оборудования уже включили в свои прошивки обновлённый список отозванных сертификатов, на таких системах в режиме UEFI Secure Boot можно будет загрузить только обновлённые сборки дистрибутивов Linux.

Для устранения уязвимости в дистрибутивах также потребуется обновить инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку, сгенерировав для них новые цифровые подписи. Пользователи должны будут обновить установочные образы и иные загрузочные носители, а также загрузить список отозванных сертификатов (dbx) в прошивку UEFI. До обновления dbx в UEFI система остаётся уязвимой независимо от установки обновлений в ОС.

וואַלנעראַביליטי גורם переполнением буфера, который может быть эксплуатирован для выполнения произвольного кода в процессе загрузки.
Уязвимость проявляется при разборе содержимого файла конфигурации grub.cfg, который обычно размещается в разделе ESP (EFI System Partition) и может быть отредактирован атакующим, имеющим права администратора, без нарушения целостности подписанных исполняемых файлов shim и GRUB2. Из-за מיסטייקס в коде парсера конфигурации, обработчик фатальных ошибок разбора YY_FATAL_ERROR лишь выводил предупреждение, но не завершал работу программы. Опасность уязвимости снижается необходимостью наличия привилегированного доступа к системе, тем не менее, проблема может оказаться востребованной для внедрения скрытых rootkit-ов при наличии физического доступа к оборудованию (при возможности загрузки со своего носителя).

В большинстве Linux-дистрибутивов для верифицированной загрузки используется небольшая прослойка shim, заверенная цифровой подписью Microsoft. Данная прослойка верифицирует GRUB2 собственным сертификатом, что позволяет разработчикам дистрибутивов не заверять каждое обновление ядра и GRUB в Microsoft. Уязвимость позволяет через изменение содержимого grub.cfg добиться выполнения своего кода на этапе после успешной верификации shim, но до загрузки операционной системы, вклинившись в цепочку доверия при активном режиме Secure Boot и получив полный контроль за дальнейшим процессом загрузки, в том числе для загрузки другой ОС, модификации компонентов операционной системы и обхода защиты לאַקדאַון.

קריטיש וואַלנעראַביליטי אין די GRUB2 באָאָטלאָאַדער וואָס אַלאַוז איר צו בייפּאַס UEFI Secure Boot

Другие уязвимости в GRUB2:

  • CVE-2020-14308 — переполнение буфера из-за отсутствия проверки размера выделяемой области памяти в grub_malloc;
  • CVE-2020-14309 — целочисленное переполнение в grub_squash_read_symlink, которое может привести к записи данных за пределами выделенного буфера;
  • CVE-2020-14310 — целочисленное переполнение вread_section_from_string, которое может привести к записи данных за пределами выделенного буфера;
  • CVE-2020-14311 — целочисленное переполнение в grub_ext2_read_link, которое может привести к записи данных за пределами выделенного буфера;
  • CVE-2020-15705 — позволяет загружать неподписанные ядра при прямой загрузке в режиме Secure Boot без прослойки shim;
  • CVE-2020-15706 — обращение к уже освобождённой области памяти (use-after-free) при переопределении функции во время выполнения;
  • CVE-2020-15707 — целочисленное переполнение в обработчике размера initrd.

Обновления пакетов с исправлениями выпущены для דעביאַן, ובונטו, rhel и sususe. Для GRUB2 פאָרשלאָגן набор патчей.

מקור: opennet.ru

לייגן אַ באַמערקונג