Kritikus sérülékenység a GRUB2 rendszerbetöltőben, amely lehetővé teszi az UEFI Secure Boot megkerülését

A GRUB2 rendszerbetöltőben kiderült 8 sebezhetőség. Legveszélyesebb probléma (CVE-2020 10713-), amelynek kódneve BootHole, adjon esélyt megkerülni az UEFI Secure Boot mechanizmusát, és ellenőrizetlen rosszindulatú programokat telepíteni. Ennek a sérülékenységnek az a sajátossága, hogy kiküszöböléséhez nem elegendő a GRUB2 frissítése, mivel a támadó egy régi, digitális aláírással hitelesített sebezhető verziójú rendszerindító adathordozót használhat. A támadó nem csak a Linux, hanem más operációs rendszerek ellenőrzési folyamatát is veszélyeztetheti, beleértve Windows.

A probléma csak a rendszer frissítésével oldható meg tanúsítvány visszavonási listája (dbx, UEFI visszavonási lista), de ebben az esetben elvész a régi telepítési adathordozó Linux alatti használatának lehetősége. Egyes berendezések gyártói már beépítették firmware-ükbe a visszavonási tanúsítványok frissített listáját; ilyen rendszereken csak a Linux disztribúciók frissített buildjei tölthetők be UEFI Secure Boot módban.

A disztribúciók sérülékenységének kiküszöbölése érdekében frissítenie kell a telepítőket, a rendszerbetöltőket, a kernelcsomagokat, az fwupd firmware-t és az illesztőréteget is, új digitális aláírásokat generálva számukra. A felhasználóknak frissíteniük kell a telepítőkészleteket és más rendszerindító adathordozókat, valamint be kell tölteniük egy tanúsítvány-visszavonási listát (dbx) az UEFI firmware-ébe. A dbx UEFI-re való frissítése előtt a rendszer sebezhető marad, függetlenül attól, hogy az operációs rendszerben telepítették-e a frissítéseket.

Sebezhetőség okozta puffertúlcsordulás, amely kihasználható tetszőleges kód futtatására a rendszerindítási folyamat során.
A biztonsági rés a grub.cfg konfigurációs fájl tartalmának elemzésekor jelentkezik, amely általában az ESP-ben (EFI System Partition) található, és rendszergazdai jogokkal rendelkező támadó által szerkeszthető anélkül, hogy megsértené az aláírt alátét és a GRUB2 végrehajtható fájlok integritását. Mert Hibák a konfigurációs elemző kódban a YY_FATAL_ERROR végzetes elemzési hibák kezelője csak figyelmeztetést jelentetett meg, de nem állította le a programot. A sérülékenység kockázatát csökkenti a rendszerhez való kiváltságos hozzáférés szükségessége, azonban a probléma rejtett rootkitek bevezetésére lehet szükség, ha fizikailag hozzáférünk a berendezéshez (ha lehetséges a rendszerindítás saját adathordozóról).

A legtöbb Linux disztribúció kisméretű alátétréteg, a Microsoft által digitálisan aláírt. Ez a réteg saját tanúsítvánnyal ellenőrzi a GRUB2-t, ami lehetővé teszi, hogy a disztribúciófejlesztők ne rendelkezzenek minden kernel- és GRUB-frissítéssel a Microsoft által tanúsított tanúsítvánnyal. A sérülékenység a grub.cfg tartalmának módosításával lehetővé teszi a kód végrehajtását a sikeres alátétellenőrzést követő szakaszban, de még az operációs rendszer betöltése előtt, a bizalmi láncba ékelődve, amikor a Biztonságos rendszerindítás mód aktív, és átveszi a teljes irányítást a további rendszerindítási folyamat során, beleértve egy másik operációs rendszer betöltését, az operációs rendszer összetevőinek módosítását és a védelem megkerülését Lezárás.

Kritikus sérülékenység a GRUB2 rendszerbetöltőben, amely lehetővé teszi az UEFI Secure Boot megkerülését

Egyéb sebezhetőségek a GRUB2-ben:

  • CVE-2020 14308- — puffertúlcsordulás a grub_malloc-ban lefoglalt memóriaterület méretének ellenőrzésének hiánya miatt;
  • CVE-2020 14309- - egész szám túlcsordulása a grub_squash_read_symlink fájlban, ami a lefoglalt pufferen túli adatíráshoz vezethet;
  • CVE-2020 14310- - egész szám túlcsordulása a read_section_from_string-ben, ami a lefoglalt pufferen túli adatok írásához vezethet;
  • CVE-2020 14311- - egész szám túlcsordulása a grub_ext2_read_link fájlban, ami a lefoglalt pufferen túli adatíráshoz vezethet;
  • CVE-2020 15705- — lehetővé teszi az aláíratlan kernelek betöltését a közvetlen rendszerindítás során biztonságos rendszerindítási módban, alátétréteg nélkül;
  • CVE-2020 15706- — hozzáférés egy már felszabadult memóriaterülethez (használat után szabadon), amikor egy függvényt futás közben újradefiniálnak;
  • CVE-2020 15707- — egész szám túlcsordulás az initrd méretkezelőben.

Gyorsjavító csomag frissítéseket adtak ki a következőhöz Debian, Ubuntu, RHEL и SUSE. GRUB2 számára javasolta foltkészlet.

Forrás: opennet.ru

Hozzászólás