Byly zveřejněny informace o 21 zranitelnostech ve zavaděči GRUB2, z nichž většina vede k přetečení buffera a může být využita k obcházení mechanismu ověřeného spuštění UEFI Secure Boot. Problémy byly prozatím odstraněny pouze ve formě patchů. Stav odstranění zranitelností v distribucích lze posoudit na následujících stránkách: Debian, Ubuntu, SUSE, RHEL, Fedora. K odstranění problémů v GRUB2 nestačí pouze aktualizovat balíček, je také potřeba vytvořit nové vnitřní digitální podpisy a aktualizovat instalátory, zavaděče, balíčky jádra, fwupd firmwary a shim vrstvu.
Zjištěné zranitelnosti:
- CVE-2024-45774: zápis mimo hranice bufferu při analýze speciálně upravených JPEG obrázků.
- CVE-2024-45776, CVE-2024-45777: celá čísla přetečení při čtení speciálně upravených mo souborů, vedoucí k zápisu mimo buffer.
- CVE-2024-45778, CVE-2024-45779: celá čísla přetečení při práci s poškozeným souborovým systémem BFS, vedoucí k přetečení bufferu.
- CVE-2024-45780: celá čísla přetečení při zpracování speciálně upravených tar archivů, což vede k zápisu mimo buffer.
- CVE-2024-45781, CVE-2025-0677: přetečení bufferu při práci s poškozeným souborovým systémem UFS.
- CVE-2024-45782, CVE-2025-1125: přetečení bufferu při montování speciálně upravené HFS oblasti.
- CVE-2025-0622: přístup k paměti po jejím uvolnění při manipulaci s moduly, což může vést k provedení kódu útočníka.
- CVE-2025-0624: přetečení bufferu při síťovém spuštění.
- CVE-2025-0678: přetečení bufferu při práci s poškozeným souborovým systémem Squash4.
- CVE-2025-0684: přetečení bufferu při manipulaci se symbolickými odkazy v souborovém systému Reiserfs.
- CVE-2025-0685: přetečení bufferu při manipulaci se symbolickými odkazy v souborovém systému JFS.
- CVE-2025-0685: přetečení bufferu při manipulaci se symbolickými odkazy v souborovém systému ROMFS.
- CVE-2025-0689: přetečení bufferu při práci se speciálně upravenou UDF oblastí.
- CVE-2025-0690: přetečení bufferu při získávání speciálně upravených dat z klávesnice.
- CVE-2025-1118: obcházení režimu izolace Lockdown a vytažení libovolného obsahu paměti prostřednictvím provedení příkazu dump.
- CVE-2024-45775: Chybějící kontrola chybových kódů při alokaci paměti při analýze předaných argumentů může vést k poškození dat IVT (Interrupt Vector Table).
- CVE-2024-45783: Přístup k nulovému ukazateli při připojování nesprávného souborového systému HFS+.
Většina distribucí Linuxu pro verifikovanou bootování v režimu UEFI Secure Boot používá malou vrstvu shim, ověřenou digitálním podpisem Microsoftu. Tato vrstva ověřuje GRUB2 vlastním certifikátem, což umožňuje vývojářům distribucí nezaručovat každou aktualizaci jádra a GRUB u Microsoftu. Zranitelnosti v GRUB2 umožňují provést vlastní kód ve fázi po úspěšné verifikaci shim, ale před načtením operačního systému, vklízením do řetězce důvěry při aktivním režimu Secure Boot a získáním plné kontroly nad dalším procesem bootování, například pro načtení jiného operačního systému, modifikaci komponent operačního systému a obcházení ochrany Lockdown.
Pro zablokování zranitelnosti bez odvolání digitálního podpisu mohou distribuce použít mechanismus SBAT (UEFI Secure Boot Advanced Targeting), jehož podpora byla implementována pro GRUB2, shim a fwupd ve většině populárních distribucí Linuxu. SBAT byl vyvinut ve spolupráci s Microsoftem a zahrnuje přidání dalších metadat do spustitelných souborů komponent UEFI, která obsahují informace o výrobci, produktu, komponentě a verzi. Uvedená metadata jsou digitálně podepsána a mohou být samostatně zařazena do seznamů povolených nebo zakázaných komponent pro UEFI Secure Boot.
SBAT umožňuje zablokovat používání digitálního podpisu pro jednotlivé verze komponent bez nutnosti revokace klíčů pro Secure Boot. Blokování zranitelností prostřednictvím SBAT nevyžaduje použití seznamu odvolaných certifikátů UEFI (dbx), a probíhá na úrovni výměny interního klíče pro generování podpisů a aktualizaci GRUB2, shim a dalších dodávaných distribučních bootovacích artefaktů. Před zavedením SBAT bylo aktualizování seznamu odvolaných certifikátů (dbx, UEFI Revocation List) povinným předpokladem pro úplné zablokování zranitelnosti, protože útočník, bez ohledu na používaný operační systém, mohl k kompromitaci UEFI Secure Boot použít bootovací médium se starou zranitelnou verzí GRUB2, ověřenou digitálním podpisem.
Zdroj: opennet.ru
