Zranitelnost v NTFS ovladači v GRUB2, která umožňuje spuštění kódu a obcházení UEFI Secure Boot

V ovladači, který zajišťuje práci se souborovým systémem NTFS v bootloaderu GRUB2, byla zjištěna zranitelnost (CVE-2023-4692), která umožňuje provádět vlastní kód na úrovni bootloaderu při přístupu k speciálně upravenému obrazu souborového systému. Tato zranitelnost může být využita k obcházení mechanismu ověřeného bootování UEFI Secure Boot.

Zranitelnost je způsobena chybou v kódu parsování NTFS atributu „$ATTRIBUTE_LIST“ (grub-core/fs/ntfs.c), kterou lze využít k zápisu informací řízených uživatelem do oblasti paměti mimo vyhrazený buffer. Při zpracování speciálně upraveného obrazu NTFS přetečení bufferu vede k přepsání části paměti GRUB a také, za určitých podmínek, k poškození oblasti paměti firmware UEFI, což potenciálně umožňuje provést vlastní kód na úrovni bootloaderu nebo firmware.

Kromě toho byl v NTFS ovladači GRUB2 také objeven další zranitelnost (CVE-2023-4693), která umožňuje číst obsah libovolné oblasti paměti při parsování atributu „$DATA“ ve speciálně upraveném obrazu NTFS. Mezi jiným, zranitelnost umožňuje získat důvěrná data, která jsou mezipaměti v paměti, nebo určit hodnoty EFI proměnných.

Problémy byly zatím vyřešeny pouze formou patche. Stav odstranění zranitelností v distribucích lze posoudit na těchto stránkách: Debian, Ubuntu, SUSE, RHEL, Fedora. Pro odstranění problémů v GRUB2 nestačí pouze aktualizovat balík, je také nutné vytvořit nové vnitřní digitální podpisy a aktualizovat instalátory, bootloadery, balíky jádra, fwupd firmware a shim vrstvu.

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 blokovat používání digitálního podpisu pro jednotlivé verze komponentů bez nutnosti odvolávání klíčů pro Secure Boot. Blokování zranitelností prostřednictvím SBAT nevyžaduje použití seznamu zrušených certifikátů UEFI (dbx) a provádí se na úrovni nahrazení interního klíče pro vytváření podpisů a aktualizaci GRUB2, shim a dalších dodávaných distribucí bootovacích artefaktů. Před zavedením SBAT bylo aktualizování seznamu zrušených certifikátů (dbx, UEFI Revocation List) nezbytnou podmínkou pro úplné blokování zranitelnosti, protože útočník, bez ohledu na používaný operační systém, mohl pro kompromitaci UEFI Secure Boot použít bootovací

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster