Kiderült, hogy a GRUB2 betöltő 21 sebezhetősége található, amelyek többsége puffer túlcsorduláshoz vezet, és használható az UEFI Secure Boot megerősített indítási mechanizmusának megkerülésére. A problémákat eddig csak javítóprogram formájában orvosolták. A sebezhetőségek elhárításának állapotát a következő oldalakon ellenőrizheti: Debian, Ubuntu, SUSE, RHEL, Fedora. A GRUB2 problémák megoldásához nem elegendő csupán a csomag frissítése, új belső digitális aláírásokat is kell létrehozni, valamint frissíteni kell az indítókat, telepítőket, a kernel csomagokat, az fwupd firmware-t és a shim réteget.
Feltárt sebezhetőségek:
- CVE-2024-45774: puffer határon túli írás kifejezetten kialakított JPEG-képek elemzésekor.
- CVE-2024-45776, CVE-2024-45777: egész számok túlfutása kifejezetten kialakított mo-fájlok olvasásakor, puffer határain túl írást okozva.
- CVE-2024-45778, CVE-2024-45779: egész számok túlfutása sérült BFS fájlrendszer kezelésekor, ami puffer túltöltéshez vezet.
- CVE-2024-45780: egész számok túlfutása kifejezetten kialakított tar-archívumok feldolgozásakor, puffer határon túli írást okozva.
- CVE-2024-45781, CVE-2025-0677: puffer túltöltések sérült UFS fájlrendszerrel való munka során.
- CVE-2024-45782, CVE-2025-1125: puffer túltöltések kifejezetten kialakított HFS partíció csatolásakor.
- CVE-2025-0622: memória hozzáférés a felszabadítás után modulok manipulációja során, támadó kód végrehajtásához vezethet.
- CVE-2025-0624: puffer túltöltés hálózati indításkor.
- CVE-2025-0678: puffer túltöltések sérült Squash4 fájlrendszerrel való munka során.
- CVE-2025-0684: puffer túltöltések szimbolikus hivatkozásokkal való manipuláció során a Reiserfs fájlrendszerben.
- CVE-2025-0685: puffer túltöltések szimbolikus hivatkozásokkal való manipuláció során a JFS fájlrendszerben.
- CVE-2025-0685: puffer túltöltések szimbolikus hivatkozásokkal való manipuláció során a ROMFS fájlrendszerben.
- CVE-2025-0689: puffer túltöltések kifejezetten módosított UDF partícióval való munka során.
- CVE-2025-0690: puffer túltöltések kifejezetten kialakított billentyűzetből származó adatok megszerzésekor.
- CVE-2025-1118: a Lockdown izolációs mód megkerülése és véletlenszerű memória tartalom kinyerése dump parancs végrehajtásával.
- CVE-2024-45775: hibaüzenet-ellenőrzés hiánya memória foglalásakor a megadott argumentumok elemzésekor, ami az IVT (Interrupt Vector Table) adatok sérüléséhez vezethet.
- CVE-2024-45783: null pointer access when mounting an improper HFS+ filesystem.
A legtöbb Linux disztribúcióban az UEFI Secure Boot ellenőrzött indításához egy kis shim réteg használatos, amelyet a Microsoft digitális aláírása hitelesít. Ez a réteg a saját tanúsítványával ellenőrzi a GRUB2-t, lehetővé téve a disztribúciók fejlesztői számára, hogy ne kelljen minden kernel- és GRUB-frissítést Microsoft-hitelesíteni. A GRUB2 sebezhetőségei lehetővé teszik, hogy kódot hajtsanak végre a shim sikeres ellenőrzése után, de az operációs rendszer betöltése előtt, behatolva a bizalom láncába aktív Secure Boot üzemmódban, és teljes ellenőrzést megszerezve a további betöltési folyamatról, például más operációs rendszer betöltéséről, az operációs rendszer összetevőinek módosításáról és a Lockdown védelem megkerüléséről.
A sebezhetőség visszavonása nélküli blokkolásához a disztribúciók használhatják az SBAT mechanizmust (UEFI Secure Boot Advanced Targeting), amelynek támogatása a GRUB2-re, shim-re és fwupd-re a legtöbb népszerű Linux disztribúcióban megvalósult. Az SBAT-ot a Microsoft együttműködésével fejlesztették ki, és plusz metaadaták hozzáadását jelenti az UEFI komponensek végrehajtható fájljaihoz, amelyek tartalmazzák a gyártóról, termékről, komponensről és verzióról szóló információkat. Ezek a metaadatok digitális aláírással hitelesítettek, és külön-külön is szerepelhetnek az UEFI Secure Boot engedélyezett vagy tiltható komponenseinek listáján.
Az SBAT lehetővé teszi a digitális aláírás blokkolását a komponensek egyes verziószámaihoz anélkül, hogy szükség lenne a Secure Boot kulcsok visszavonására. A sebezhetőségek SBAT útján történő blokkolása nem igényli az UEFI visszavont tanúsítványainak listájának (dbx) használatát, hanem a belső kulcs cseréjének szintjén történik a GRUB2, shim és más, disztribúciók által szállított betöltő artefaktumok aláírásához és frissítéséhez. Az SBAT bevezetése előtt a visszavont tanúsítványok listájának (dbx, UEFI Revocation List) frissítése kötelező feltétele volt a sebezhetőség teljes blokkolásának, mivel a támadó, függetlenül a használt operációs rendszertől, egy régi sebezhető GRUB2 verzióval rendelkező boot közeg használatával tudta kompromittálni az UEFI Secure Boot-ot, amelyet digitális aláírás hitelesített.
Forrás: opennet.ru
