Byla publikována sada záplat, které řeší šest zranitelností v zavaděči GRUB2, z nichž většina vede k problémům s use-after-free (UAF). Tyto potenciální problémy lze využít k obejití mechanismu ověřeného spouštění UEFI Secure Boot. Stav těchto záplat v distribucích lze posoudit na následujících stránkách: Debian, Ubuntu, SUSE, RHEL, Arch a Fedora. Oprava problémů s GRUB2 vyžaduje více než jen aktualizaci balíčku; vyžaduje také generování nových interních digitálních podpisů a aktualizaci instalačních programů, bootloaderů, balíčků jádra, firmwaru fwupd a vrstvy shim.
Zjištěná zranitelnost:
- CVE-2025-61661 — Zápis mimo povolený rozsah ve funkci grub_usb_get_string() lze zneužít při zpracování řetězců kódovaných UTF-8 a UTF-16 přenášených při připojení zařízení USB. Problém je způsoben alokací vyrovnávací paměti na základě velikosti řetězce uvedené v první zprávě z zařízení USB a velikost během převodu kódování byla vypočítána na základě následných operací čtení z zařízení USB. V důsledku toho lze pro tento útok použít upravené zařízení USB, které zpočátku vrací podhodnocenou velikost.
- CVE-2025-61663, CVE-2025-61664, CVE-2025-54770, CVE-2025-61662 — selhání při čištění obslužných rutin příkazů „normal“, „normal_exit“, „net_set_vlan“ a „gettext“ při uvolňování modulů „normal“, „net“ a „gettext“. To vytváří podmínky pro zranitelnost typu „use-after-free“ (UFS) při spuštění výše uvedených příkazů po uvolnění odpovídajících modulů. Podobné zranitelnosti byly nalezeny i u příkazů „functional_test“ a „all_functional_test“, ale nebyly jim přiřazeny identifikátory CVE, protože tyto příkazy jsou součástí testovací knihovny a neměly by být zahrnuty v produkčních sestaveních.
- CVE-2025-54771 - Chyba v počítání referencí struktur „fs“ ve funkci grub_file_close() vede k chybě „use-after-free“.
Ve většině LinuxDistribuce pro ověřené spuštění v režimu UEFI Secure Boot používají malou vrstvu shim, digitálně podepsanou společností Microsoft. Tato vrstva ověřuje GRUB2 pomocí vlastního certifikátu, čímž eliminuje nutnost, aby vývojáři distribucí informovali Microsoft o každé aktualizaci jádra a GRUBu. Zranitelnosti v GRUB2 umožňují spuštění libovolného kódu po úspěšném ověření shim, ale před spuštěním operačního systému. To umožňuje útočníkům prolomit řetězec důvěryhodnosti, když je povoleno Secure Boot, a získat úplnou kontrolu nad následným procesem spouštění, například za účelem spuštění jiného operačního systému, úpravy součástí operačního systému nebo obejití ochrany Lockdown.
Pro blokování zranitelnosti bez zrušení digitálního podpisu mohou distribuce použít mechanismus SBAT (UEFI Secure Boot Advanced Targeting), jehož podpora je implementována pro GRUB2, shim a fwupd ve většině populárních distribucí. LinuxSBAT byl vyvinut ve spolupráci se společností Microsoft a zahrnuje přidání dalších metadat do spustitelných souborů komponent UEFI, včetně informací o výrobci, produktu, komponentě a verzi. Tato metadata jsou digitálně podepsána a lze je samostatně zahrnout do seznamů povolených nebo zakázaných komponent pro UEFI Secure Boot.
SBAT umožňuje blokovat používání digitálních podpisů pro jednotlivá čísla verzí komponent, aniž byste museli zrušit klíče pro Secure Boot. Blokování zranitelností přes SBAT nevyžaduje použití seznamu zneplatněných certifikátů UEFI (dbx), ale provádí se na úrovni nahrazení interního klíče pro generování podpisů a aktualizaci GRUB2, shim a dalších bootovacích artefaktů dodávaných distribucemi. Před zavedením SBAT byla aktualizace seznamu zneplatněných certifikátů (dbx, UEFI Revocation List) nezbytným předpokladem pro úplné zablokování zranitelnosti, protože útočník, bez ohledu na použitý operační systém, mohl použít zaváděcí médium se starou zranitelnou verzí GRUB2, certifikován digitálním podpisem, aby byl ohrožen UEFI Secure Boot.
Zdroj: opennet.ru
