Avatud on kaks haavatavust GRUB2 kĂ€ivitajas, mis vĂ”ivad vĂ”imaldada koodi tĂ€itmist spetsiaalselt kujundatud fondide ja teatud Unicode-jĂ€rjendite töötlemise kaudu. Haavatavusi saab kasutada UEFI Secure Booti kontrollimise mehhanismi ĂŒletamiseks.
Tuletatud haavatavused:
- CVE-2022-2601 â puhvrivoolu ĂŒletamine funktsioonis grub_font_construct_glyph() spetsiaalselt kujundatud pf2 formaadis fondide töötlemisel, mis tuleneb vale max_glyph_size parameetri arvutamisest ja mĂ€lu eraldamise piirkonna mÀÀramisest, mis on selgelt vĂ€iksem kui gglyphide mahutamiseks vajalik.
- CVE-2022-3775 â mĂ€lu eraldatud ala ĂŒletamine teatud Unicode-jĂ€rjendite joonistamisel spetsiaalselt kujundatud fondiga. Probleem esineb fondide töötlemise koodis ja see on pĂ”hjustatud sobivuse kontrollide puudumisest glĂŒĂŒfi laius ja kĂ”rgus olemasoleva bitikaardi suuruse suhtes. RĂŒndaja vĂ”ib sobitada sisendi nii, et see pĂ”hjustab andmete saba kirjutamise eraldatud puhvri piiridest vĂ€lja. T mĂ€rgitakse, et vaatamata haavatavuse Ă€rakasutamise keerukusele ei saa vĂ€listada koodi tĂ€itmise saavutamist.
Parandus on avaldatud plaastrina. Haavatavuste lahendamise staatus jaotustes on saadaval jÀrgmistele lehtedele: Ubuntu, SUSE, RHEL, Fedora, Debian. GRUB2 probleemide lahendamiseks pole lihtsalt piisav paketika uuendamine, vaid vajatakse ka uusi sise digitaalset allkirjastamist ja installeride, laadijate, kernelipakettide, fwupd-firmware ja shim-lahenduse uuendamist.
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.
Kuna digitaalallkirja tĂŒhistamiseta haavatavuste blokeerimiseks vĂ”ivad jaotised kasutada mehhanismi SBAT (UEFI Secure Boot Advanced Targeting), mille tugi on rakendatud GRUB2, shim ja fwupd enamikes tuntud Linuxi jaotustes. SBAT on vĂ€lja töötatud koostöös Microsoftiga ja hĂ”lmab UEFI komponente sisaldavate esitamisfailide tĂ€iendavate metaandmete lisamist, mis sisaldavad teavet tootja, toote, komponendi ja versiooni kohta. Loomulikult alla kirjutatud metaandmed vĂ”ivad eraldi kuuluda lubatud vĂ”i keelatud komponentide loenditesse UEFI Secure Boot jaoks.
SBAT vĂ”imaldab blokeerida digitaalallkirja kasutamise ĂŒksikute komponentide versioonide numbrite jaoks ilma Secure Booti vĂ”tmete tĂŒhistamise vajaduseta. Haavatavuste blokeerimine SBAT kaudu ei nĂ”ua UEFI tĂŒhistatud sertifikaatide (dbx) loendi kasutamist, vaid toimub sisemise vĂ”tme vahetuse tasemel allkirjade genereerimise ja GRUB2, shim ning teiste jaotustelt tarnitud laadimisartefaktide uuendamise jaoks. Enne SBAT'i rakendamist oli tĂŒhistatud sertifikaatide (dbx, UEFI Revocation List) loendi uuendamine tĂ€ieliku haavatavuse blokeerimise kohustuslik tingimus, kuna rĂŒndaja vĂ”is, olenemata kasutatavast operatsioonisĂŒsteemist, UEFI Secure Booti kompromiteerida vanade haavatavate GRUB2 versioonidega, mis olid digitaalse allkirjaga allkirjastatud.
Allikas: opennet.ru
