Kritieke kwetsbaarheid in de GRUB2-bootloader waarmee u UEFI Secure Boot kunt omzeilen

In de GRUB2-bootloader onthuld 8 kwetsbaarheden. Meest gevaarlijk проблема (CVE-2020-10713), met de codenaam BootHole, geef een kans omzeil het UEFI Secure Boot-mechanisme en installeer niet-geverifieerde malware. De eigenaardigheid van deze kwetsbaarheid is dat om deze te elimineren het niet voldoende is om GRUB2 bij te werken, aangezien de aanvaller opstartbare media kan gebruiken met een oude kwetsbare versie die is gecertificeerd door een digitale handtekening. Een aanvaller kan niet alleen het verificatieproces van Linux in gevaar brengen, maar ook van andere besturingssystemen, waaronder Dakramen en raamkozijnen.

Het probleem kan alleen worden opgelost door het systeem te updaten certificaatintrekkingslijst (dbx, UEFI Revocation List), maar in dit geval gaat de mogelijkheid om oude installatiemedia met Linux te gebruiken verloren. Sommige fabrikanten van apparatuur hebben al een bijgewerkte lijst met intrekkingscertificaten in hun firmware opgenomen; op dergelijke systemen kunnen alleen bijgewerkte builds van Linux-distributies worden geladen in de UEFI Secure Boot-modus.

Om de kwetsbaarheid in distributies te elimineren, moet je ook installatieprogramma's, bootloaders, kernelpakketten, fwupd-firmware en shim-laag bijwerken, en er nieuwe digitale handtekeningen voor genereren. Gebruikers moeten installatie-images en andere opstartbare media bijwerken, en een certificaatintrekkingslijst (dbx) in de UEFI-firmware laden. Voordat dbx wordt bijgewerkt naar UEFI, blijft het systeem kwetsbaar, ongeacht de installatie van updates in het besturingssysteem.

Kwetsbaarheid veroorzaakt een bufferoverflow die kan worden misbruikt om willekeurige code uit te voeren tijdens het opstartproces.
Het beveiligingslek doet zich voor bij het parseren van de inhoud van het grub.cfg-configuratiebestand, dat zich meestal in de ESP (EFI-systeempartitie) bevindt en kan worden bewerkt door een aanvaller met beheerdersrechten zonder de integriteit van de ondertekende shim- en GRUB2-uitvoerbare bestanden te schenden. Vanwege Fouten in de configuratieparsercode gaf de handler voor fatale parseerfouten YY_FATAL_ERROR alleen een waarschuwing weer, maar beëindigde het programma niet. Het risico op kwetsbaarheid wordt verminderd door de noodzaak om geprivilegieerde toegang tot het systeem te hebben; het probleem kan echter nodig zijn om verborgen rootkits te introduceren als u fysieke toegang tot de apparatuur heeft (als het mogelijk is om vanaf uw eigen media op te starten).

De meeste Linux-distributies gebruiken een small vullaag, digitaal ondertekend door Microsoft. Deze laag verifieert GRUB2 met zijn eigen certificaat, waardoor distributieontwikkelaars niet elke kernel- en GRUB-update door Microsoft kunnen laten certificeren. De kwetsbaarheid maakt het mogelijk, door de inhoud van grub.cfg te wijzigen, uitvoering van uw code te bereiken in de fase na succesvolle shim-verificatie, maar voordat het besturingssysteem wordt geladen, waardoor u in de vertrouwensketen terechtkomt wanneer de Secure Boot-modus actief is en volledige controle krijgt tijdens het verdere opstartproces, inclusief het laden van een ander besturingssysteem, het wijzigen van componenten van het besturingssysteem en het omzeilen van de beveiliging Lockdown.

Kritieke kwetsbaarheid in de GRUB2-bootloader waarmee u UEFI Secure Boot kunt omzeilen

Andere kwetsbaarheden in GRUB2:

  • CVE-2020-14308 — bufferoverloop als gevolg van het niet controleren van de grootte van het toegewezen geheugengebied in grub_malloc;
  • CVE-2020-14309 - een overflow van gehele getallen in grub_squash_read_symlink, wat ertoe kan leiden dat gegevens buiten de toegewezen buffer worden geschreven;
  • CVE-2020-14310 - overflow van gehele getallen in read_section_from_string, wat kan leiden tot het schrijven van gegevens buiten de toegewezen buffer;
  • CVE-2020-14311 - een overflow van gehele getallen in grub_ext2_read_link, wat ertoe kan leiden dat gegevens buiten de toegewezen buffer worden geschreven;
  • CVE-2020-15705 — stelt je in staat om niet-ondertekende kernels te laden tijdens direct opstarten in Secure Boot-modus zonder een shim-laag;
  • CVE-2020-15706 — toegang tot een reeds vrijgemaakt geheugengebied (use-after-free) bij het opnieuw definiëren van een functie tijdens runtime;
  • CVE-2020-15707 — integer-overflow in de initrd-groottehandler.

Er zijn hotfix-pakketupdates uitgebracht voor Debian, Ubuntu, RHEL и SUSE. Voor GRUB2 voorgesteld setje pleisters.

Bron: opennet.ru

Voeg een reactie