Két sérülékenység a GRUB2-ben, amelyek lehetővé teszik az UEFI Secure Boot védelem megkerülését

Információt hoztak nyilvánosságra a GRUB2 rendszerbetöltő két sebezhetőségéről, amelyek kódfuttatáshoz vezethetnek speciálisan tervezett betűtípusok használata és bizonyos Unicode-szekvenciák feldolgozása során. A sérülékenységek segítségével megkerülhető az UEFI Secure Boot ellenőrzött rendszerindítási mechanizmusa.

Azonosított sebezhetőségek:

  • CVE-2022-2601 - Puffertúlcsordulás a grub_font_construct_glyph() függvényben a speciálisan tervezett betűtípusok pf2 formátumban történő feldolgozásakor, amely a max_glyph_size paraméter helytelen kiszámítása és a szükségesnél nyilvánvalóan kisebb memóriaterület lefoglalása miatt következik be. befogadni a jeleket.
  • CVE-2022-3775 Határon túli írás történik, amikor egyes Unicode-szekvenciákat különleges stílusú betűtípussal jelenítenek meg. A probléma a betűtípus-feldolgozási kódban van, és a megfelelő ellenőrzések hiánya okozza, hogy a karakterjel szélessége és magassága megegyezzen a rendelkezésre álló bittérkép méretével. A támadó úgy alakíthatja ki a bemenetet, hogy az adatok végét a lefoglalt pufferen kívülre írja. Meg kell jegyezni, hogy a sérülékenység kihasználásának összetettsége ellenére nem kizárt, hogy a probléma kódfuttatásra kerül.

A javítást patchként tették közzé. A disztribúciókban lévő sebezhetőségek megszüntetésének állapotát a következő oldalakon lehet felmérni: Ubuntu, SUSE, RHEL, Fedora, Debian. A GRUB2 problémáinak megoldásához nem elég csak a csomagot frissíteni, hanem új belső digitális aláírásokat kell generálni, valamint frissíteni kell a telepítőket, a rendszerbetöltőket, a kernelcsomagokat, az fwupd firmware-t és az alátétréteget.

A legtöbb Linux-disztribúció egy kis, a Microsoft által digitálisan aláírt alátétréteget használ az UEFI Secure Boot módban történő igazolt rendszerindításhoz. 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 GRUB2 biztonsági rései lehetővé teszik a kód végrehajtását a sikeres alátétellenőrzést követő szakaszban, de az operációs rendszer betöltése előtt, a bizalmi láncba ékelődve, amikor a biztonságos rendszerindítási mód aktív, és teljes irányítást szerezhet a további rendszerindítási folyamat felett, beleértve másik operációs rendszer betöltése, az operációs rendszer összetevőinek rendszerének módosítása és a zárolás elleni védelem megkerülése.

A sérülékenységnek a digitális aláírás visszavonása nélkül történő blokkolásához a disztribúciók használhatják az SBAT (UEFI Secure Boot Advanced Targeting) mechanizmust, amelyet a GRUB2, shim és fwupd támogat a legnépszerűbb Linux disztribúciókban. Az SBAT-ot a Microsofttal közösen fejlesztették ki, és további metaadatokat adnak hozzá az UEFI-összetevők futtatható fájljaihoz, amelyek a gyártóra, a termékre, az összetevőre és a verzióra vonatkozó információkat tartalmaznak. A megadott metaadatok digitális aláírással vannak hitelesítve, és külön-külön felvehetők az UEFI Secure Boot engedélyezett vagy tiltott összetevőinek listájába.

Az SBAT lehetővé teszi, hogy blokkolja a digitális aláírások használatát az egyes összetevők verziószámaihoz anélkül, hogy vissza kellene vonnia a biztonságos rendszerindításhoz szükséges kulcsokat. A sérülékenységek SBAT-on keresztüli blokkolásához nem szükséges UEFI-tanúsítvány-visszavonási lista (dbx) használata, hanem a belső kulcs cseréjének szintjén hajtják végre az aláírások generálásához, valamint a GRUB2, az alátét és a disztribúciók által biztosított egyéb rendszerindítási melléktermékek frissítéséhez. Az SBAT bevezetése előtt a tanúsítvány-visszavonási lista (dbx, UEFI visszavonási lista) frissítése előfeltétele volt a biztonsági rés teljes blokkolásának, mivel a támadó, függetlenül a használt operációs rendszertől, a GRUB2 régi, sebezhető verziójával használhatott rendszerindító adathordozót, digitális aláírással hitelesített, az UEFI Secure Boot kompromittálására.

Forrás: opennet.ru

Hozzászólás