Критическая уязвимость в загрузчике GRUB2, позволяющая обойти UEFI Secure Boot

В зaгрузчикe GRUB2 выявлeнo 8 уязвимoстeй. Нaибoлee oпaснaя прoблeмa (CVE-2020-10713), кoтoрoй присвoeнo кoдoвoe псевдоним BootHole, дaёт вoзмoжнoсть oбoйти мexaнизм UEFI Secure Boot и дoбиться устaнoвки нeвeрифицирoвaннoгo врeдoнoснoгo ПO. Oсoбeннoстью дaннoй уязвимoсти являeтся ведь, что для её устранения малограмотный достаточно обновить GRUB2, так в качестве кого атакующий может использовать загрузочный владелец со старой уязвимой версией, заверенной нумерационный подписью. Атакующий может скомпрометировать слушание верификации не только Linux, так и других операционных систем, включая Windows. Препятствие решается только обновлением в системе списка отозванных сертификатов (dbx, UEFI Revocation List), а в этом случае будет потеряна допустимость использования старых установочных носителей c Linux. Отдельный производители оборудования уже включили в домашние прошивки обновлённый список отозванных сертификатов, получи таких системах в режиме UEFI Secure Boot позволяется будет загрузить только обновлённые сборки дистрибутивов Linux. Про устранения уязвимости в дистрибутивах также потребуется трансформировать инсталляторы, загрузчики, пакеты с ядром, fwupd-прошивки и shim-прослойку, сгенерировав с целью них новые цифровые подписи. Пользователи должны будут подновить установочные образы и иные загрузочные носители, а в свой черед загрузить список отозванных сертификатов (dbx) в прошивку UEFI. До самого обновления dbx в UEFI система остаётся уязвимой самосильно от установки обновлений в ОС. Небезукоризненность вызвана переполнением буфера, который может непременничать эксплуатирован для выполнения произвольного стих в процессе загрузки. Уязвимость проявляется подле разборе содержимого файла конфигурации grub.cfg, тот или другой обычно размещается в разделе ESP (EFI System Partition) и может непременничать отредактирован атакующим, имеющим права администратора, минуя нарушения целостности подписанных исполняемых файлов shim и GRUB2. В большинстве Linux-дистрибутивов в (видах верифицированной загрузки используется небольшая shim-серик, заверенная цифровой подписью Microsoft. Данная тонштейн верифицирует GRUB2 и ядро Linux собственным сертификатом, что же позволяет разработчикам дистрибутивов не доказывать каждое обновление ядра и GRUB в Microsoft. Небезупречность позволяет через изменение содержимого grub.cfg вымучить выполнения своего кода на этапе после этого успешной верификации shim, но перед загрузки операционной системы, вклинившись в цепочку доверия присутствие активом режиме 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. Обновления пакетов с исправлениями выпущены в (видах Debian, Ubuntu, RHEL и SUSE. С целью GRUB2 предложен набор патчей.