GRUB2 laadijat on parandatud 7 haavatavust, mis vĂ”imaldavad mööda minna UEFI Secure Boot mehhanismist ja kĂ€ivitada kinnitamata koodi, nĂ€iteks vĂ”imaldavad nad pahavara sisestamist laadija vĂ”i tuuma tasandil. Lisaks on tuvastatud ĂŒks haavatavus shim kihis, mis samuti vĂ”imaldab mööda minna UEFI Secure Boot-ist. Haavatavuste rĂŒhm on saanud koodnimeks Boothole 3, sarnaselt varem tuvastatud probleemide tĂ”ttu laadijas.
GRUB2 ja shim probleemide lahendamiseks saavad distributsioonid kasutada SBAT (UEFI Secure Boot Advanced Targeting) mehhanismi, mille tootmist on toetatud GRUB2, shim ja fwupd jaoks. SBAT on vÀlja töötatud koos Microsoftiga ja see eeldab UEFI komponentide tÀitmisfailidesse tÀiendavate metaandmete lisamist, mis sisaldavad tootja, toote, komponendi ja versiooni teavet. Need metaandmed on digitaalsete allkirjadega allkirjastatud ja neid saab eraldi lisada lubatud vÔi keelatud komponentide nimekirjadele UEFI Secure Boot jaoks.
Enamikus Linuxi jaotustes kasutatakse UEFI Secure Booti kontrollimiseks vĂ€ikest shim-lahendust, mille Microsoft on digitaalselt allkirjastanud. See lahendus valideerib GRUB2 oma sertifikaadiga, mis vĂ”imaldab jaotuste arendajatel mitte kinnitada iga kernelivĂ€rskendust ja GRUBi Microsoftis. GRUB2 haavatavused vĂ”imaldavad kĂ€ivitada oma koodi shim'i eduka kontrollimise etapis, kuid enne operatsioonisĂŒsteemi laadimist, takistades usaldusĂ”iguse ahelas toime tulekut aktiivse Secure Booti reĆŸiimis ning saades tĂ€ieliku kontrolli edasi laadimisprotsessi ĂŒle, sealhulgas teise operatsioonisĂŒsteemi laadimist, operatsioonisĂŒsteemi komponentide muutmist ja Lockdowni kaitse ĂŒletamist.
Laadija probleemide lahendamiseks peavad distributsioonid looma uusi sisemisi digitaalseid allkirju ja uuendama installereid, laadijaid, tuumapakette, fwupd-firmware'e ja shim kihti. Enne SBAT kasutuselevĂ”ttu oli tagasikutsutud sertifikaatide nimekirja (dbx, UEFI Revocation List) uuendamine kohustuslik, et tĂ€ielikult blokeerida haavatavus, kuna rĂŒndaja, sĂ”ltumata kasutatavast operatsioonisĂŒsteemist, sai UEFI Secure Boot-i kompromitteerida, kasutades vanemat haavatavat GRUB2 versiooni, mille oli allkirjastanud digitaalne allkiri.
SBAT vÔimaldab blokeerida allkirja kasutamise erinevate komponentide versiooninumbrite jaoks, ilma et oleks vaja Secure Boot vÔtmeid tagasi kutsuda. Haavatavuste blokeerimine SBAT kaudu ei nÔua UEFI tagasikutsutud sertifikaatide nimekirja (dbx) kasutamist, vaid toimub sisemise vÔtme asendamise tasemel, et luua allkirjad ja uuendada GRUB2, shim ja muid distributsioonide poolt tarnitavaid laadimisartefakte. Hetkel on SBAT-i toega liitunud enamik populaarseid Linuxi distributsioone.
Tuletatud haavatavused:
- CVE-2021-3696, CVE-2021-3695 â kuhja ĂŒlevool, mis tekib spetsiaalselt vormistatud PNG-piltide töötlemisel, mida teoreetiliselt saab kasutada rĂŒndaja kodeerimise tĂ€itmise ja UEFI Secure Booti ĂŒmbersuunamise korraldamiseks. Probleem on raskesti ekspluateeritav, kuna funktsionaalse eksploidiga loomine nĂ”uab paljude tegurite arvestamist ja teadaolevaid andmeid mĂ€lu korraldusest.
- CVE-2021-3697 â bufrist madalamate piiride ĂŒlevool (buffer underflow) JPEG-piltide töötlemise koodis. Probleemi ekspluateerimiseks on vajalik teada mĂ€lu korraldust ning keerukus on umbes sama tase kui PNG-iga seotud probleem (CVSS 7.5).
- CVE-2022-28733 â tĂ€isarvu ĂŒlevool funktsioonis grub_net_recv_ip4_packets(), mis vĂ”imaldab mĂ”jutada parameetrit rsm->total_len spetsiaalselt vormistatud IP-paketi saatmise kaudu. Probleem on mĂ€rgitud kĂ”ige ohtlikumaks esitletud haavatavuseks (CVSS 8.1). Eduka Ă€rakasutamise korral vĂ”imaldab haavatavus kirjutada andmeid puutest vĂ€lja, eraldades teadlikult vĂ€iksema suuruse mĂ€lu.
- CVE-2022-28734 â ĂŒhte baidi bufrist ĂŒlevool spetsiaalselt vormistatud HTTP-pealkirjade töötlemisel. Probleem vĂ”ib viia GRUB2 metainfode rikutuseni (null-baiti kirjutamine kohe pĂ€rast puutepiiri lĂ”ppu) spetsiaalselt vormistatud HTTP-pĂ€ringute analĂŒĂŒsimisel.
- CVE-2022-28735 â probleem shim_locki tĂ”endajas, mis vĂ”imaldab laadida faile, mis ei ole seotud tuumaga. Haavatavust saab kasutada UEFI Secure Booti reĆŸiimis allkirjastamata digitaalsete tuuma moodulite vĂ”i kontrollimata koodi laadimiseks.
- CVE-2022-28736 â juurdepÀÀs juba vabastatud mĂ€lupiirkonnale funktsioonis grub_cmd_chainloader() lĂ€bi chainloaderi kĂ€su korduvkasutamise, mida kasutatakse GRUB2-s toetamatute operatsioonisĂŒsteemide laadimiseks. Ekspluateerimine vĂ”ib viia rĂŒndava koodi tĂ€itmiseni, kui hĂ€kker suudab tuvastada GRUB2 mĂ€lu jaotuse omadused.
- CVE-2022-28737 â bufrist ĂŒlevool shim kihis, mis tekib funktsioonis handle_image() spetsiaalselt vormistatud EFI-piltide laadimise ja tĂ€itmise kĂ€igus.
Allikas: opennet.ru
