GRUB2 sÄknÄÅ”anas ielÄdÄtÄjÄ ir novÄrstas 7 ievainojamÄ«bas, kas ļauj apiet UEFI Secure Boot mehÄnismu un palaist nepÄrbaudÄ«tu kodu, piemÄram, ieviest ļaunprÄtÄ«gu programmatÅ«ru, kas darbojas sÄknÄÅ”anas ielÄdÄtÄja vai kodola lÄ«menÄ«. TurklÄt starplikas slÄnÄ« ir viena ievainojamÄ«ba, kas arÄ« ļauj apiet UEFI Secure Boot. IevainojamÄ«bu grupai tika dots kodÄtais nosaukums Boothole 3, lÄ«dzÄ«gi kÄ lÄ«dzÄ«gÄm problÄmÄm, kas iepriekÅ” tika identificÄtas sÄknÄÅ”anas ielÄdÄtÄjÄ.
Lai novÄrstu problÄmas GRUB2 un shim, izplatÄ«jumi varÄs izmantot SBAT (UEFI Secure Boot Advanced Targeting) mehÄnismu, kas tiek atbalstÄ«ts GRUB2, shim un fwupd. SBAT tika izstrÄdÄts kopÄ«gi ar Microsoft, un tas ietver papildu metadatu pievienoÅ”anu UEFI komponentu izpildÄmajiem failiem, kas ietver informÄciju par ražotÄju, produktu, komponentu un versiju. NorÄdÄ«tie metadati ir sertificÄti ar ciparparakstu, un tos var atseviŔķi iekļaut UEFI Secure Boot atļauto vai aizliegto komponentu sarakstos.
LielÄkajÄ daÄ¼Ä Linux izplatÄ«jumu tiek izmantots mazs starplikas slÄnis, ko Microsoft ir digitÄli parakstÄ«jis, lai pÄrbaudÄ«tu sÄknÄÅ”anu UEFI droÅ”Äs sÄknÄÅ”anas režīmÄ. Å is slÄnis pÄrbauda GRUB2 ar savu sertifikÄtu, kas ļauj izplatÄ«Å”anas izstrÄdÄtÄjiem neļaut katram kodolam un GRUB atjauninÄjumam Microsoft sertificÄt. GRUB2 ievainojamÄ«bas ļauj sasniegt jÅ«su koda izpildi stadijÄ pÄc veiksmÄ«gas shim verifikÄcijas, bet pirms operÄtÄjsistÄmas ielÄdes, ieslÄdzoties uzticÄ«bas Ä·ÄdÄ, kad droÅ”Äs sÄknÄÅ”anas režīms ir aktÄ«vs un iegÅ«stot pilnÄ«gu kontroli pÄr turpmÄko sÄknÄÅ”anas procesu, t.sk. citas operÄtÄjsistÄmas ielÄde, operÄtÄjsistÄmas komponentu sistÄmas modificÄÅ”ana un bloÄ·ÄÅ”anas aizsardzÄ«bas apieÅ”ana.
Lai novÄrstu problÄmas sÄknÄÅ”anas ielÄdÄtÄjÄ, izplatÄ«Å”anÄm bÅ«s jÄizveido jauni iekÅ”Äjie ciparparaksti un jÄatjaunina instalÄtÄji, sÄknÄÅ”anas ielÄdÄtÄji, kodola pakotnes, fwupd programmaparatÅ«ra un shim slÄnis. Pirms SBAT ievieÅ”anas sertifikÄtu atsaukÅ”anas saraksta (dbx, UEFI atsaukÅ”anas saraksta) atjauninÄÅ”ana bija priekÅ”noteikums, lai pilnÄ«bÄ bloÄ·Ätu ievainojamÄ«bu, jo uzbrucÄjs neatkarÄ«gi no izmantotÄs operÄtÄjsistÄmas varÄja izmantot sÄknÄÅ”anas datu nesÄju ar vecu, ievainojamu GRUB2 versiju, sertificÄts ar ciparparakstu, lai apdraudÄtu UEFI Secure Boot .
TÄ vietÄ, lai atsauktu parakstu, SBAT ļauj bloÄ·Ät tÄ izmantoÅ”anu atseviŔķiem komponentu versiju numuriem, neatsaucot droÅ”Äs sÄknÄÅ”anas atslÄgas. Lai bloÄ·Ätu ievainojamÄ«bas, izmantojot SBAT, nav jÄizmanto UEFI sertifikÄtu atsaukÅ”anas saraksts (dbx), bet tas tiek veikts iekÅ”ÄjÄs atslÄgas aizstÄÅ”anas lÄ«menÄ«, lai Ä£enerÄtu parakstus un atjauninÄtu GRUB2, shim un citus izplatÄ«jumu nodroÅ”inÄtos sÄknÄÅ”anas artefaktus. PaÅ”laik SBAT atbalsts jau ir pievienots populÄrÄkajiem Linux izplatÄ«jumiem.
IdentificÄtÄs ievainojamÄ«bas:
- CVE-2021-3696, CVE-2021-3695 ir kaudzes bufera pÄrpildes, apstrÄdÄjot Ä«paÅ”i izstrÄdÄtus PNG attÄlus, kurus teorÄtiski var izmantot, lai izpildÄ«tu uzbrucÄja kodu un apietu UEFI Secure Boot. Tiek atzÄ«mÄts, ka problÄmu ir grÅ«ti izmantot, jo, lai izveidotu funkcionÄlu izmantoÅ”anu, ir jÄÅem vÄrÄ liels skaits faktoru un informÄcijas pieejamÄ«ba par atmiÅas izkÄrtojumu.
- CVE-2021-3697 ā bufera nepietiekamÄ«ba JPEG attÄla apstrÄdes kodÄ. ProblÄmas izmantoÅ”anai ir nepiecieÅ”amas zinÄÅ”anas par atmiÅas izkÄrtojumu, un tÄ ir aptuveni tÄdÄ paÅ”Ä sarežģītÄ«bas lÄ«menÄ« kÄ PNG problÄma (CVSS 7.5).
- CVE-2022-28733 ā vesela skaitļa pÄrpilde funkcijÄ grub_net_recv_ip4_packets() ļauj ietekmÄt parametru rsm->total_len, nosÅ«tot Ä«paÅ”i izveidotu IP paketi. ProblÄma ir atzÄ«mÄta kÄ visbÄ«stamÄkÄ no piedÄvÄtajÄm ievainojamÄ«bÄm (CVSS 8.1). Ja tÄ tiek veiksmÄ«gi izmantota, ievainojamÄ«ba ļauj rakstÄ«t datus Ärpus bufera robežas, pieŔķirot apzinÄti mazÄku atmiÅas apjomu.
- CVE-2022-28734 ā viena baita bufera pÄrpilde, apstrÄdÄjot noÅemtÄs HTTP galvenes. ParsÄjot Ä«paÅ”i izstrÄdÄtus HTTP pieprasÄ«jumus, problÄma var izraisÄ«t GRUB2 metadatu bojÄjumus (nulles baita ierakstÄ«Å”ana tÅ«lÄ«t pÄc bufera beigÄm).
- CVE-2022-28735 ProblÄma shim_lock pÄrbaudÄ«tÄjÄ Ä¼auj ielÄdÄt failu bez kodola. IevainojamÄ«bu var izmantot, lai ielÄdÄtu neparakstÄ«tus kodola moduļus vai nepÄrbaudÄ«tu kodu UEFI droÅ”Äs sÄknÄÅ”anas režīmÄ.
- CVE-2022-28736 Jau atbrÄ«vota piekļuve atmiÅai funkcijÄ grub_cmd_chainloader(), izmantojot Ä·Ädes ielÄdes komandas atkÄrtotu izpildi, ko izmanto, lai palaistu operÄtÄjsistÄmas, kuras neatbalsta GRUB2. IzmantoÅ”ana var izraisÄ«t uzbrucÄja koda izpildi, ja uzbrucÄjs spÄj noteikt atmiÅas sadalÄ«jumu GRUB2.
- CVE-2022-28737 ā bufera pÄrpilde starplikas slÄnÄ« notiek funkcijÄ handle_image(), ielÄdÄjot un izpildot izstrÄdÄtus EFI attÄlus.
Avots: opennet.ru