Dobësitë në GRUB2 që ju lejojnë të anashkaloni UEFI Secure Boot

Janë rregulluar 2 dobësi në ngarkuesin GRUB7 që ju lejojnë të anashkaloni mekanizmin UEFI Secure Boot dhe të ekzekutoni kodin e paverifikuar, për shembull, të prezantoni malware që funksionojnë në nivelin e ngarkuesit ose kernelit. Për më tepër, ekziston një dobësi në shtresën shim, e cila gjithashtu ju lejon të anashkaloni UEFI Secure Boot. Grupi i dobësive u kodua Boothole 3, i ngjashëm me probleme të ngjashme të identifikuara më parë në ngarkuesin e nisjes.

Për të zgjidhur problemet në GRUB2 dhe shim, shpërndarjet do të mund të përdorin mekanizmin SBAT (UEFI Secure Boot Advanced Targeting), i cili mbështetet për GRUB2, shim dhe fwupd. SBAT u zhvillua së bashku me Microsoft dhe përfshin shtimin e meta të dhënave shtesë në skedarët e ekzekutueshëm të komponentëve UEFI, të cilat përfshijnë informacione rreth prodhuesit, produktit, komponentit dhe versionit. Meta të dhënat e specifikuara janë të certifikuara me një nënshkrim dixhital dhe mund të përfshihen veçmas në listat e komponentëve të lejuar ose të ndaluar për UEFI Secure Boot.

Shumica e shpërndarjeve Linux përdorin një shtresë të vogël shim të nënshkruar në mënyrë dixhitale nga Microsoft për nisjen e verifikuar në modalitetin UEFI Secure Boot. Kjo shtresë verifikon GRUB2 me certifikatën e vet, e cila lejon zhvilluesit e shpërndarjes të mos kenë çdo kernel dhe përditësim GRUB të certifikuar nga Microsoft. Dobësitë në GRUB2 ju lejojnë të arrini ekzekutimin e kodit tuaj në fazën pas verifikimit të suksesshëm të shimit, por përpara se të ngarkoni sistemin operativ, të futeni në zinxhirin e besimit kur modaliteti Secure Boot është aktiv dhe të fitoni kontroll të plotë mbi procesin e mëtejshëm të nisjes, duke përfshirë ngarkimi i një OS tjetër, modifikimi i sistemit të komponentëve të sistemit operativ dhe anashkalimi i mbrojtjes nga bllokimi.

Për të rregulluar problemet në ngarkuesin e ngarkimit, shpërndarjet do të duhet të krijojnë nënshkrime të reja dixhitale të brendshme dhe instalues ​​të përditësimit, ngarkues të ngarkesave, paketat e kernelit, firmuerin fwupd dhe shtresën shim. Përpara prezantimit të SBAT, përditësimi i listës së revokimit të certifikatave (dbx, Lista e revokimit UEFI) ishte një parakusht për bllokimin e plotë të cenueshmërisë, pasi një sulmues, pavarësisht nga sistemi operativ i përdorur, mund të përdorte media bootable me një version të vjetër të cenueshëm të GRUB2. certifikuar nga një nënshkrim dixhital, për të komprometuar UEFI Secure Boot .

Në vend që të revokoni një nënshkrim, SBAT ju lejon të bllokoni përdorimin e tij për numrat e versioneve individuale të komponentëve pa pasur nevojë të revokoni çelësat për Secure Boot. Bllokimi i dobësive nëpërmjet SBAT nuk kërkon përdorimin e listës së revokimit të certifikatave UEFI (dbx), por kryhet në nivelin e zëvendësimit të çelësit të brendshëm për të gjeneruar nënshkrime dhe përditësuar GRUB2, shim dhe objekte të tjera të nisjes të ofruara nga shpërndarjet. Aktualisht, mbështetja SBAT tashmë është shtuar në shpërndarjet më të njohura të Linux.

Dobësitë e identifikuara:

  • CVE-2021-3696, CVE-2021-3695 janë tejmbushje buferi të bazuara në grumbull gjatë përpunimit të imazheve PNG të projektuara posaçërisht, të cilat teorikisht mund të përdoren për të ekzekutuar kodin e sulmuesit dhe për të anashkaluar UEFI Secure Boot. Vihet re se problemi është i vështirë për t'u shfrytëzuar, pasi krijimi i një shfrytëzimi pune kërkon marrjen parasysh të një numri të madh faktorësh dhe disponueshmërinë e informacionit në lidhje me paraqitjen e memories.
  • CVE-2021-3697 - Një rrjedhje e tamponit në kodin e përpunimit të imazhit JPEG. Shfrytëzimi i problemit kërkon njohuri për paraqitjen e memories dhe është pothuajse në të njëjtin nivel kompleksiteti si çështja PNG (CVSS 7.5).
  • CVE-2022-28733 - Një tejkalim i plotë në funksionin grub_net_recv_ip4_packets() lejon që parametri rsm->total_len të ndikohet duke dërguar një paketë IP të krijuar posaçërisht. Çështja është shënuar si më e rrezikshmja nga dobësitë e paraqitura (CVSS 8.1). Nëse shfrytëzohet me sukses, dobësia lejon që të dhënat të shkruhen përtej kufirit të tamponit duke caktuar një madhësi qëllimisht më të vogël memorie.
  • CVE-2022-28734 - Mbushje e tamponit me një bajt kur përpunohen titujt e zhveshur HTTP. Një problem mund të shkaktojë prishje të meta të dhënave GRUB2 (duke shkruar një bajt të pavlefshëm menjëherë pas përfundimit të bufferit) kur analizohen kërkesat HTTP të krijuara posaçërisht.
  • CVE-2022-28735 Një problem në verifikuesin shim_lock lejon ngarkimin e skedarëve jo-kernel. Dobësia mund të përdoret për të ngarkuar modulet e kernelit të panënshkruara ose kodin e paverifikuar në modalitetin UEFI Secure Boot.
  • CVE-2022-28736 Një akses memorie i çliruar tashmë në funksionin grub_cmd_chainloader() nëpërmjet një rishfaqjeje të komandës chainloader, e përdorur për të nisur sistemet operative që nuk mbështeten nga GRUB2. Shfrytëzimi mund të rezultojë në ekzekutimin e kodit të sulmuesit nëse sulmuesi është në gjendje të përcaktojë alokimin e memories në GRUB2
  • CVE-2022-28737 - Një tejmbushje buferi në shtresën shim ndodh në funksionin handle_image() kur ngarkohen dhe ekzekutohen imazhet e krijuara EFI.

Burimi: opennet.ru

Shto një koment