Kritická zraniteľnosť v zavádzači GRUB2, ktorá vám umožňuje obísť UEFI Secure Boot

V bootloaderi GRUB2 identifikované 8 zraniteľností. Najnebezpečnejší problém (CVE-2020 10713,), ktorý má kódové označenie BootHole, dať šancu obísť mechanizmus UEFI Secure Boot a nainštalovať neoverený malvér. Zvláštnosťou tejto zraniteľnosti je, že na jej odstránenie nestačí aktualizovať GRUB2, pretože útočník môže použiť zavádzacie médium so starou zraniteľnou verziou certifikovanou digitálnym podpisom. Útočník môže ohroziť proces overovania nielen Linuxu, ale aj iných operačných systémov, vrátane Windows.

Problém je možné vyriešiť iba aktualizáciou systému zoznam zrušených certifikátov (dbx, UEFI Revocation List), ale v tomto prípade sa stratí možnosť používať staré inštalačné médium s Linuxom. Niektorí výrobcovia zariadení už do svojho firmvéru zahrnuli aktualizovaný zoznam certifikátov o zrušení, v takýchto systémoch je možné v režime UEFI Secure Boot načítať iba aktualizované zostavy distribúcií Linuxu.

Aby ste eliminovali zraniteľnosť distribúcií, budete tiež musieť aktualizovať inštalačné programy, zavádzače, balíčky jadra, firmvér fwupd a vrstvu shim a vygenerovať pre ne nové digitálne podpisy. Používatelia budú musieť aktualizovať inštalačné obrazy a iné zavádzacie médiá, ako aj načítať zoznam zrušených certifikátov (dbx) do firmvéru UEFI. Pred aktualizáciou dbx na UEFI zostáva systém zraniteľný bez ohľadu na inštaláciu aktualizácií v OS.

Zraniteľnosť spôsobil pretečenie vyrovnávacej pamäte, ktoré možno využiť na spustenie ľubovoľného kódu počas procesu zavádzania.
Zraniteľnosť sa vyskytuje pri analýze obsahu konfiguračného súboru grub.cfg, ktorý sa zvyčajne nachádza v ESP (EFI System Partition) a môže byť upravený útočníkom s právami správcu bez narušenia integrity podpísaného shim a spustiteľných súborov GRUB2. Kvôli Chyby v kóde konfiguračného analyzátora obslužný program pre fatálne chyby analýzy YY_FATAL_ERROR iba zobrazil varovanie, ale neukončil program. Riziko zraniteľnosti je znížené potrebou privilegovaného prístupu k systému, problém však môže byť potrebný pri zavádzaní skrytých rootkitov, ak existuje fyzický prístup k zariadeniu (ak je možné zaviesť systém z vlastného média).

Väčšina distribúcií Linuxu používa malý podložná vrstva, digitálne podpísané spoločnosťou Microsoft. Táto vrstva overuje GRUB2 pomocou vlastného certifikátu, ktorý vývojárom distribúcie umožňuje, aby nemali každú aktualizáciu jadra a GRUB certifikovanú spoločnosťou Microsoft. Zraniteľnosť umožňuje zmenou obsahu grub.cfg dosiahnuť spustenie vášho kódu vo fáze po úspešnom overení shim, ale pred načítaním operačného systému, zaklínenie do reťazca dôvery, keď je aktívny režim Secure Boot a získanie plnej kontroly počas ďalšieho procesu zavádzania, vrátane načítania iného OS, úpravy komponentov operačného systému a obídenia ochrany Lockdown.

Kritická zraniteľnosť v zavádzači GRUB2, ktorá vám umožňuje obísť UEFI Secure Boot

Ďalšie chyby zabezpečenia v GRUB2:

  • CVE-2020 14308, — pretečenie vyrovnávacej pamäte kvôli nedostatočnej kontrole veľkosti alokovanej oblasti pamäte v grub_malloc;
  • CVE-2020 14309, - pretečenie celého čísla v grub_squash_read_symlink, čo môže viesť k zápisu údajov mimo pridelenú vyrovnávaciu pamäť;
  • CVE-2020 14310, - pretečenie celého čísla v read_section_from_string, čo môže viesť k zápisu dát mimo pridelenej vyrovnávacej pamäte;
  • CVE-2020 14311, - pretečenie celého čísla v grub_ext2_read_link, čo môže viesť k zápisu údajov mimo pridelenú vyrovnávaciu pamäť;
  • CVE-2020 15705, — umožňuje načítať nepodpísané jadrá počas priameho zavádzania v režime Secure Boot bez shim vrstvy;
  • CVE-2020 15706, — prístup k už uvoľnenej oblasti pamäte (použitie po uvoľnení) pri predefinovaní funkcie za behu;
  • CVE-2020 15707, — pretečenie celého čísla v obslužnom programe veľkosti initrd.

Aktualizácie hotfix pack boli vydané pre debian, ubuntu, RHEL и SUSE. Pre GRUB2 navrhované sada náplastí.

Zdroj: opennet.ru

Pridať komentár