Специалисты из компании 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/
- Microsoft Security advisory
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV200011 - UEFI Forum Updated Revocation List
https://uefi.org/revocationlistfile - Debian Security advisory
https://www.debian.org/security/2020-GRUB-UEFI-SecureBoot - Canonical: Security advisory
https://ubuntu.com/security/notices/USN-4432-1 - KnowledgeBase article
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass - Red Hat Customer documentation
https://access.redhat.com/security/vulnerabilities/grub2bootloader - CVE information
https://access.redhat.com/security/cve/cve-2020-10713 - Vulnerability response article
https://access.redhat.com/security/vulnerabilities/grub2bootloader - SUSE Security advisory:
https://www.suse.com/c/suse-addresses-grub2-secure-boot-issue/ - Knowledge Base article:
https://www.suse.com/support/kb/doc/?id=000019673 - HP Security advisory
HPSBHF03678 rev. 1 – GRUB2 Bootloader Arbitrary Code Execution - HPE Security advisory
https://techhub.hpe.com/eginfolib/securityalerts/Boot_Hole/boot_hole.html - VMware Knowledge Base article
https://kb.vmware.com/s/article/80181
Не спешите обновляться!
Проблема решается обновлением списка отозванных сертификатов — 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
Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.