Уязвимость в NTFS-драйвере из состава GRUB2, позволяющая выполнить код и обойти UEFI Secure Boot

В драйвере, обеспечивающем работу с файловой системой NTFS в загрузчике GRUB2, выявлена уязвимость (CVE-2023-4692), позволяющая организовать выполнение своего кода на уровне загрузчика при обращении к специально оформленному образу файловой системы. Уязвимость может применяться для обхода механизма верифицированной загрузки UEFI Secure Boot.

Уязвимость вызвана ошибкой в коде разбора NTFS-атрибута «$ATTRIBUTE_LIST» (grub-core/fs/ntfs.c), которую можно использовать для записи контролируемой пользователем информации в область памяти за пределами выделенного буфера. При обработке специально оформленного образа NTFS переполнение приводит к перезаписи части памяти GRUB, а также, при определённых условиях, к повреждению области памяти прошивки UEFI, что потенциально позволяет организовать выполнение своего кода на уровне загрузчика или прошивки.

Кроме того, в NTFS-драйвере из GRUB2 также выявлена ещё одна уязвимость (CVE-2023-4693), позволяющая прочитать содержимое произвольной области памяти при разборе атрибута «$DATA» в специально оформленном образе NTFS. Среди прочего, уязвимость позволяет извлечь конфиденциальные данные, прокэшированные в памяти, или определить значения переменных EFI.

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

Në shumicën e distribucioneve Linux, për ngarkimin e verifikuar në mënyrën UEFI Secure Boot përdoret një shtresë e vogël shim, e çertifikuar nga një nënshkrim digjital i Microsoft. Kjo shtresë verifikon GRUB2 me çertifikatën e saj, duke lejuar zhvilluesit e distribucioneve që të mos e çertifikojnë çdo përditësim të kernelit dhe GRUB në Microsoft. Vulnerabilitetet në GRUB2 lejojnë ekzekutimin e kodit të tyre pas verifikimit të suksesshëm të shim, por para ngarkimit të sistemit operativ, duke u futur në zinxhirin e besueshmërisë gjatë operacionit të aktivizuar të Secure Boot dhe duke marrë kontroll të plotë mbi procesin e ngarkimit, për shembull, për të ngarkuar një OS tjetër, modifikuar komponentët e sistemit operativ dhe për të anashkaluar mbrojtjen Lockdown.

Për të bllokuar vulnerabilitetin pa anulluar nënshkrimin digjital, shpërndarjet mund të përdorin mekanizmin SBAT (UEFI Secure Boot Advanced Targeting), mbështetje e të cilit është realizuar për GRUB2, shim dhe fwupd në shumicën e shpërndarjeve të njohura Linux. SBAT është zhvilluar në bashkëpunim me Microsoft dhe parashikon shtimin e metadatas në skedarët ekzekutivë të komponenteve UEFI, që përfshin informacion mbi prodhuesin, produktin, komponentin dhe versionin. Këto metadata nënshkruhen me një nënshkrim digjital dhe mund të përfshihen veçmas në listat e miratuara ose të ndaluara për UEFI Secure Boot.

SBAT позволяет блокировать использование цифровой подписи для отдельных номеров версий компонентов без необходимости отзыва ключей для Secure Boot. Блокирование уязвимостей через SBAT не требует использования списка отозванных сертификатов UEFI (dbx), а производится на уровне замены внутреннего ключа для формирования подписей и обновления GRUB2, shim и других поставляемых дистрибутивами загрузочных артефактов. До внедрения SBAT, обновление списка отозванных сертификатов (dbx, UEFI Revocation List) было обязательным условием полного блокирования уязвимости, так как атакующий, независимо от используемой операционной системы, мог для компрометации UEFI Secure Boot использовать загрузочный

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster