Найти тему

Уязвимость BootHole в загрузчике GRUB2

Оглавление

Специалисты из компании Eclypsium обнаружили уязвимость переполнения буфера в конфигурационном файле загрузчика GRUB2, который используется при загрузке Windows, Linux, MacOS. Кроме того под удар попали серверные системы, ядра и гипервизоры. Информация была опубликована 29 июля 2020 года, по согласованию с поставщиками операционных систем и производителями компьютеров. Уязвимость позволяет выполнить при загрузке произвольный код.

Примечание админа: не спешите обновляться, почитайте о проблемах ниже.

Даже необязательный протокол безопасной загрузки UEFI Secure Boot не спасает, потому как не все производители догадались добавить проверку цифровой подписи конфигурационного файла grub.cfg.

Уязвимость была названа CVE-2020-10713 “GRUB2: crafted grub.cfg file can lead to arbitrary code execution during boot process” с рейтингом CVSS 8.2 (High). Неофициально “BootHole” — "Дыра в ботинке". После этого в загрузчике было выявлено ещё 7 подобных уязвимостей.

  • 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.

Кроме того, HPE пишут об одновременной исправлении похожей уязвимости CVE-2020-7205.

https://support.hpe.com/hpesc/public/docDisplay?docLocale=en_US&docId=emr_na-hpesbhf04020en_us

Ссылки

https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/

Theres-a-Hole-in-the-Boot.pdf

Не спешите обновляться!

Проблема решается обновлением списка отозванных сертификатов — dbx UEFI Revocation List, но это приводит к невозможности загрузки со старых установочных образов и операционных систем.

https://www.opennet.ru/opennews/art.shtml?num=53460

Некоторые производители уже включили в прошивки обновлённый список отозванных сертификатов, и админы уже прочувствовали боль. Админы RHEL 8 и CentOS 8 столкнулись с проблемами после обновления, ось перестала загружаться. На некоторых серверах HPE ProLiant (HPE ProLiant XL230k Gen1 без UEFI Secure Boot) не взлетел RHEL 8.2.

https://bugzilla.redhat.com/show_bug.cgi?id=1861977

https://bugzilla.redhat.com/show_bug.cgi?id=1862045

Проблемы и с загрузкой RHEL 7, CentOS 7, Ubuntu, Debian.

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1889509

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1889509/comments/6

Источник:
https://internet-lab.ru/cve_boothole

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.