GRUB2 laadijaga töötava NTFS-failisĂŒsteemi draiveris tuvastati haavatavus (CVE-2023-4692), mis vĂ”imaldab laadija tasandil oma koodi kĂ€ivitada, kui pöörduda spetsiaalselt kujundatud failisĂŒsteemi pildi poole. Seda haavatavust saab kasutada UEFI Secure Boot'i allkirjastatud kĂ€ivitamismehhanismi ĂŒmbersuunamiseks.
Haavatavus on pĂ”hjustatud veast NTFS-atribuutide "$ATTRIBUTE_LIST" (grub-core/fs/ntfs.c) analĂŒĂŒsi koodis, mida saab kasutada kasutaja kontrollitava teabe kirjutamiseks mĂ€lupiiri ĂŒletavasse mĂ€luruumi. Spetsiaalselt kujundatud NTFS-pildi töötlemisel toob ĂŒlevool kaasa osa GRUBi mĂ€lu ĂŒlekirjutamise ja teatud tingimustel UEFI pĂŒsivara mĂ€lu kahjustamise, mis vĂ”imaldab potentsiaalselt laadija vĂ”i pĂŒsivara tasemel oma koodi kĂ€ivitada.
Lisaks tuvastati GRUB2 NTFS-draiveris veel ĂŒks haavatavus (CVE-2023-4693), mis vĂ”imaldab lugeda mÀÀratud mĂ€lupiirkonna sisu, kui analĂŒĂŒsida atribuuti "$DATA" spetsiaalselt kujundatud NTFS-pildis. Muuhulgas vĂ”imaldab haavatavus vĂ€lja tĂ”mmata konfidentsiaalseid andmeid, mis on vahemĂ€lus jaotatud, vĂ”i mÀÀrata EFI muutujate vÀÀrtusi.
Probleemid on seni lahendatud ainult plaastri nĂ€ol. Haavatavuste kĂ”rvaldamise staatus distributsioonides on hinnatav jĂ€rgmiste lehekĂŒlgede andmetel: Debian, Ubuntu, SUSE, RHEL, Fedora. GRUB2 probleemide lahendamiseks ei piisa lihtsalt paketi uuendamisest; on vajalik ka uusi sisemisi digitaalseid allkirju genereerida ning uuendada installijat, laadijat, tuumapakette, fwupd-pĂŒsivara ja shim-kihte.
In most Linux distributions, a small shim layer, signed by Microsoft, is used for verified boot in UEFI Secure Boot mode. This shim verifies GRUB2 with its own certificate, allowing distribution developers to avoid signing every kernel and GRUB update with Microsoft. Vulnerabilities in GRUB2 can enable code execution after the successful verification of the shim, but before the operating system is loaded, infiltrating the trust chain while Secure Boot is active and gaining full control over the boot process, allowing for loading another OS, modifying operating system components, and bypassing Lockdown protection.
Kuna digitaalallkirja tĂŒhistamiseta haavatavuste blokeerimiseks vĂ”ivad jaotised kasutada mehhanismi SBAT (UEFI Secure Boot Advanced Targeting), mille tugi on rakendatud GRUB2, shim ja fwupd enamikes tuntud Linuxi jaotustes. SBAT on vĂ€lja töötatud koostöös Microsoftiga ja hĂ”lmab UEFI komponente sisaldavate esitamisfailide tĂ€iendavate metaandmete lisamist, mis sisaldavad teavet tootja, toote, komponendi ja versiooni kohta. Loomulikult alla kirjutatud metaandmed vĂ”ivad eraldi kuuluda lubatud vĂ”i keelatud komponentide loenditesse UEFI Secure Boot jaoks.
SBAT vĂ”imaldab blokeerida digitaalse allkirja kasutamist ĂŒksikute komponentide versioonide numbrite jaoks ilma vajaduseta tagasi kutsuda vĂ”tmeid Secure Boot'i jaoks. SBAT kaudu haavatavuste blokeerimine ei nĂ”ua UEFI (dbx) tĂŒhistatud sertifikaatide nimekirja kasutamist, vaid toimub sisemise vĂ”tme asendamise tasemel allkirjade genereerimiseks ning GRUB2, shim ja teiste tarnitud distributsioonide kĂ€ivitusartefaktide uuendamiseks. Enne SBAT'i kasutuselevĂ”ttu oli tĂŒhistatud sertifikaatide nimekirja (dbx, UEFI Revocation List) uuendamine tĂ€ieliku haavatavuse blokeerimise aluseks, kuna rĂŒndaja, sĂ”ltumata kasutatavast operatsioonisĂŒsteemist, sai UEFI Secure Boot'i kompromiteerimiseks kasutada kĂ€ivitus
Allikas: opennet.ru
