Kritisk sårbarhed i GRUB2 bootloader, der giver dig mulighed for at omgå UEFI Secure Boot

I GRUB2 bootloader afsløret 8 sårbarheder. Farligste et problem (CVE-2020-10713), som er kodenavnet BootHole, give en chance omgå UEFI Secure Boot-mekanismen og installer ubekræftet malware. Det særlige ved denne sårbarhed er, at for at eliminere den er det ikke nok at opdatere GRUB2, da angriberen kan bruge opstartsmedier med en gammel sårbar version certificeret af en digital signatur. En angriber kan kompromittere verifikationsprocessen ikke kun af Linux, men også af andre operativsystemer, herunder Windows.

Problemet kan kun løses ved at opdatere systemet certifikat tilbagekaldelsesliste (dbx, UEFI Revocation List), men i dette tilfælde vil muligheden for at bruge gamle installationsmedier med Linux gå tabt. Nogle udstyrsproducenter har allerede inkluderet en opdateret liste over tilbagekaldelsescertifikater i deres firmware; på sådanne systemer kan kun opdaterede builds af Linux-distributioner indlæses i UEFI Secure Boot-tilstand.

For at eliminere sårbarheden i distributioner skal du også opdatere installationsprogrammer, bootloadere, kernepakker, fwupd-firmware og shim-lag, og generere nye digitale signaturer til dem. Brugere skal opdatere installationsbilleder og andre opstartsmedier samt indlæse en certifikattilbagekaldelsesliste (dbx) i UEFI-firmwaren. Før du opdaterer dbx til UEFI, forbliver systemet sårbart uanset installationen af ​​opdateringer i OS.

Sårbarhed forårsaget et bufferoverløb, der kan udnyttes til at udføre vilkårlig kode under opstartsprocessen.
Sårbarheden opstår ved parsing af indholdet af grub.cfg-konfigurationsfilen, som normalt er placeret i ESP (EFI System Partition) og kan redigeres af en angriber med administratorrettigheder uden at krænke integriteten af ​​de signerede shim og GRUB2 eksekverbare filer. På grund af Fejl i konfigurationsparserkoden viste handleren for fatale parsingsfejl YY_FATAL_ERROR kun en advarsel, men afsluttede ikke programmet. Risikoen for sårbarhed reduceres af behovet for privilegeret adgang til systemet, men problemet kan være nødvendigt at indføre skjulte rootkits, hvis der er fysisk adgang til udstyret (hvis det er muligt at boote fra dit eget medie).

De fleste Linux-distributioner bruger en lille shim lag, digitalt signeret af Microsoft. Dette lag verificerer GRUB2 med sit eget certifikat, som gør det muligt for distributionsudviklere ikke at få alle kerne- og GRUB-opdateringer certificeret af Microsoft. Sårbarheden tillader, ved at ændre indholdet af grub.cfg, at opnå eksekvering af din kode på stadiet efter vellykket shim-verifikation, men før indlæsning af operativsystemet, kile ind i tillidskæden, når Secure Boot-tilstand er aktiv og opnå fuld kontrol over den videre opstartsproces, herunder indlæsning af et andet OS, ændring af operativsystemkomponenter og omgåelse af beskyttelse Lockdown.

Kritisk sårbarhed i GRUB2 bootloader, der giver dig mulighed for at omgå UEFI Secure Boot

Andre sårbarheder i GRUB2:

  • CVE-2020-14308 — bufferoverløb på grund af manglende kontrol af størrelsen af ​​det tildelte hukommelsesområde i grub_malloc;
  • CVE-2020-14309 - et heltalsoverløb i grub_squash_read_symlink, som kan føre til, at data bliver skrevet ud over den allokerede buffer;
  • CVE-2020-14310 - heltalsoverløb i read_section_from_string, hvilket kan føre til skrivning af data ud over den allokerede buffer;
  • CVE-2020-14311 - et heltalsoverløb i grub_ext2_read_link, som kan føre til, at data bliver skrevet ud over den allokerede buffer;
  • CVE-2020-15705 — giver dig mulighed for at indlæse usignerede kerner under direkte opstart i sikker opstartstilstand uden et shim-lag;
  • CVE-2020-15706 — adgang til et allerede frigivet hukommelsesområde (brug-efter-frit) ved omdefinering af en funktion under kørsel;
  • CVE-2020-15707 — heltalsoverløb i initrd-størrelsesbehandleren.

Hotfix-pakkeopdateringer er blevet frigivet til Debian, Ubuntu, RHEL и SUSE. Til GRUB2 foreslog sæt plastre.

Kilde: opennet.ru

Tilføj en kommentar