GRUB2 haavatavused, mis võimaldavad teil UEFI turvalisest alglaadimisest mööda minna

GRUB2 alglaaduris on parandatud 7 haavatavust, mis võimaldavad UEFI Secure Boot mehhanismist mööda minna ja käivitada kontrollimata koodi, näiteks juurutada alglaaduri või kerneli tasemel töötavat pahavara. Lisaks on vahekihis üks haavatavus, mis võimaldab teil ka UEFI Secure Bootist mööda minna. Turvaaukude rühm sai koodnime Boothole 3, mis sarnaneb alglaaduris varem tuvastatud sarnaste probleemidega.

GRUB2 ja shim probleemide tõrkeotsinguks saavad distributsioonid kasutada SBAT (UEFI Secure Boot Advanced Targeting) mehhanismi, mida toetavad GRUB2, shim ja fwupd. SBAT töötati välja koostöös Microsoftiga ja see hõlmab täiendavate metaandmete lisamist UEFI komponentide täitmisfailidele, mis sisaldavad teavet tootja, toote, komponendi ja versiooni kohta. Määratud metaandmed on sertifitseeritud digitaalallkirjaga ja neid saab eraldi lisada UEFI Secure Boot lubatud või keelatud komponentide loendisse.

Enamik Linuxi distributsioone kasutab UEFI Secure Boot režiimis kontrollitud alglaadimiseks väikest Microsofti digitaalselt allkirjastatud vahekihti. See kiht kinnitab GRUB2 oma sertifikaadiga, mis võimaldab levitajate arendajatel mitte lasta kõigil kernelil ja GRUB-värskendustel Microsofti sertifitseerida. GRUB2 haavatavused võimaldavad teil saavutada koodi käivitamise etapis pärast edukat vahekontrolli, kuid enne operatsioonisüsteemi laadimist kiiludes usaldusahelasse, kui turvaline alglaadimisrežiim on aktiivne ja omandades täieliku kontrolli edasise alglaadimisprotsessi üle, sealhulgas teise OS-i laadimine, operatsioonisüsteemi komponentide süsteemi muutmine ja lukustuskaitse ümbersõit.

Alglaaduris esinevate probleemide lahendamiseks peavad distributsioonid looma uued sisemised digitaalallkirjad ja värskendama installijaid, alglaadureid, tuumapakette, fwupd püsivara ja vahekihti. Enne SBAT-i kasutuselevõttu oli haavatavuse täieliku blokeerimise eeltingimuseks sertifikaatide tühistamise loendi (dbx, UEFI tühistamisloend) värskendamine, kuna ründaja võis olenemata kasutatavast operatsioonisüsteemist kasutada buutivat meediumit vana haavatava GRUB2 versiooniga, digitaalallkirjaga sertifitseeritud, et kahjustada UEFI turvalist alglaadimist.

Allkirja tühistamise asemel võimaldab SBAT blokeerida selle kasutamise üksikute komponentide versiooninumbrite jaoks, ilma et peaksite tühistama turvalise alglaadimise võtmeid. Turvaaukude blokeerimine SBAT-i kaudu ei nõua UEFI-sertifikaadi tühistamisloendi (dbx) kasutamist, vaid seda tehakse sisemise võtme asendamise tasemel, et genereerida allkirju ning värskendada GRUB2, shim ja muid distributsioonide pakutavaid alglaadimisartefakte. Praegu on SBAT-i tugi juba lisatud enamikele populaarsetele Linuxi distributsioonidele.

Tuvastatud haavatavused:

  • CVE-2021-3696, CVE-2021-3695 on kuhjapõhised puhvri ületäitmised spetsiaalselt loodud PNG-piltide töötlemisel, mida saab teoreetiliselt kasutada ründaja koodi käivitamiseks ja UEFI turvalisest alglaadimisest möödahiilimiseks. Märgitakse, et probleemi on raske ära kasutada, kuna toimiva exploiti loomiseks on vaja arvestada paljude teguritega ja mälupaigutuse kohta teabe kättesaadavusega.
  • CVE-2021-3697 – puhvri alavool JPEG-pilditöötluskoodis. Probleemi ärakasutamiseks on vaja teadmisi mälu paigutuse kohta ja see on ligikaudu samal keerukusastmel kui PNG-probleem (CVSS 7.5).
  • CVE-2022-28733 – funktsiooni grub_net_recv_ip4_packets() täisarvu ületäitumine võimaldab parameetrit rsm->total_len mõjutada spetsiaalselt koostatud IP-paketi saatmisega. Probleem on märgitud esitatud haavatavustest kõige ohtlikumaks (CVSS 8.1). Eduka ärakasutamise korral võimaldab haavatavus kirjutada andmeid väljapoole puhvri piiri, eraldades tahtlikult väiksema mälumahu.
  • CVE-2022-28734 – ühebaidise puhvri ületäitumine eemaldatud HTTP-päiste töötlemisel. Spetsiaalselt koostatud HTTP-päringute sõelumisel võib probleem põhjustada GRUB2 metaandmete rikkumist (nullbaidi kirjutamine vahetult pärast puhvri lõppu).
  • CVE-2022-28735 Tõendi shim_lock probleem võimaldab mitte-kerneli faili laadimist. Seda haavatavust saab kasutada allkirjastamata kerneli moodulite või kinnitamata koodi laadimiseks UEFI turvalise alglaadimise režiimis.
  • CVE-2022-28736 Juba vabastatud mälujuurdepääs funktsioonis grub_cmd_chainloader() käsu ahellaaduri korduskäitamise kaudu, mida kasutatakse operatsioonisüsteemide käivitamiseks, mida GRUB2 ei toeta. Ärakasutamine võib kaasa tuua ründaja koodi käivitamise, kui ründaja suudab määrata mälujaotuse GRUB2-s
  • CVE-2022-28737 – Koostatud EFI-piltide laadimisel ja täitmisel tekib funktsiooni Hand_image() puhul vahekihi puhvri ületäitumine.

Allikas: opennet.ru

Lisa kommentaar