Kritická zranitelnost v bootloaderu GRUB2, která vám umožňuje obejít UEFI Secure Boot

V bootloaderu GRUB2 odhaleno 8 zranitelností. Nejnebezpečnější problém (CVE-2020-10713), která má kódové označení BootHole, dát šanci obejít mechanismus UEFI Secure Boot a nainstalovat neověřený malware. Zvláštností této chyby zabezpečení je, že k jejímu odstranění nestačí aktualizovat GRUB2, protože útočník může použít zaváděcí médium se starou zranitelnou verzí certifikovanou digitálním podpisem. Útočník může ohrozit ověřovací proces nejen Linuxu, ale i dalších operačních systémů, včetně Windows.

Problém lze vyřešit pouze aktualizací systému seznam zneplatněných certifikátů (dbx, UEFI Revocation List), ale v tomto případě dojde ke ztrátě možnosti používat stará instalační média s Linuxem. Někteří výrobci zařízení již do svého firmwaru zahrnuli aktualizovaný seznam revokačních certifikátů, na takových systémech lze v režimu UEFI Secure Boot načíst pouze aktualizované sestavení linuxových distribucí.

Chcete-li odstranit zranitelnost v distribucích, budete také muset aktualizovat instalační programy, zavaděče, balíčky jádra, firmware fwupd a vrstvu shim a generovat pro ně nové digitální podpisy. Uživatelé budou muset aktualizovat instalační obrazy a další zaváděcí média a také načíst seznam zrušených certifikátů (dbx) do firmwaru UEFI. Před aktualizací dbx na UEFI zůstává systém zranitelný bez ohledu na instalaci aktualizací v OS.

Zranitelnost způsobil přetečení vyrovnávací paměti, které lze využít ke spuštění libovolného kódu během procesu spouštění.
K této chybě zabezpečení dochází při analýze obsahu konfiguračního souboru grub.cfg, který se obvykle nachází v ESP (EFI System Partition) a může být upraven útočníkem s právy správce, aniž by došlo k porušení integrity podepsaného shim a spustitelných souborů GRUB2. Kvůli Chyby v kódu konfiguračního analyzátoru obslužná rutina pro fatální chyby analýzy YY_FATAL_ERROR pouze zobrazila varování, ale neukončila program. Riziko zranitelnosti je sníženo nutností mít privilegovaný přístup k systému, problém však může být potřeba zavést skryté rootkity, pokud máte fyzický přístup k zařízení (pokud je možné zavést systém z vlastního média).

Většina distribucí Linuxu používá malý vyrovnávací vrstva, digitálně podepsané společností Microsoft. Tato vrstva ověřuje GRUB2 pomocí vlastního certifikátu, který vývojářům distribuce umožňuje nemít každou aktualizaci jádra a GRUB certifikovanou společností Microsoft. Tato zranitelnost umožňuje změnou obsahu grub.cfg dosáhnout spuštění vašeho kódu ve fázi po úspěšné verifikaci shim, ale před načtením operačního systému se zaklínit do řetězce důvěry, když je aktivní režim Secure Boot a získat plnou kontrolu. během dalšího bootovacího procesu, včetně nahrání jiného OS, úpravy komponent operačního systému a vynechání ochrany Lockdown.

Kritická zranitelnost v bootloaderu GRUB2, která vám umožňuje obejít UEFI Secure Boot

Další zranitelnosti v GRUB2:

  • CVE-2020-14308 — přetečení vyrovnávací paměti kvůli nedostatečné kontrole velikosti alokované oblasti paměti v grub_malloc;
  • CVE-2020-14309 - přetečení celého čísla v grub_squash_read_symlink, což může vést k zápisu dat mimo přidělenou vyrovnávací paměť;
  • CVE-2020-14310 - přetečení celého čísla v read_section_from_string, což může vést k zápisu dat mimo přidělenou vyrovnávací paměť;
  • CVE-2020-14311 - přetečení celého čísla v grub_ext2_read_link, což může vést k zápisu dat mimo přidělenou vyrovnávací paměť;
  • CVE-2020-15705 — umožňuje načíst nepodepsaná jádra během přímého spouštění v režimu Secure Boot bez shim vrstvy;
  • CVE-2020-15706 — přístup k již uvolněné oblasti paměti (použití po uvolnění) při předefinování funkce za běhu;
  • CVE-2020-15707 — přetečení celého čísla v obslužné rutině velikosti initrd.

Byly vydány aktualizace hotfix pack pro Debian, ubuntu, RHEL и SUSE. Pro GRUB2 navržený sada náplastí.

Zdroj: opennet.ru

Přidat komentář