Vundeblecoj en GRUB2, kiuj povas preteriri UEFI Secure Boot

2 vundeblecoj estis riparitaj en la GRUB7-ŝargilo, kiuj ebligas al vi preteriri la mekanismon de Secure Boot de UEFI kaj ruli nekontrolitan kodon, ekzemple, efektivigi malware funkciantan ĉe la ekŝargilo aŭ kerno-nivelo. Aldone, estas unu vundebleco en la ŝimtavolo, kiu ankaŭ permesas vin preteriri UEFI Secure Boot. La grupo de vundeblecoj estis kodita Boothole 3, simila al similaj problemoj antaŭe identigitaj en la ekŝargilo.

Por solvi problemojn en GRUB2 kaj shim, distribuoj povos uzi la mekanismon SBAT (UEFI Secure Boot Advanced Targeting), kiu estas subtenata por GRUB2, shim kaj fwupd. SBAT estis evoluigita kune kun Mikrosofto kaj implikas aldoni pliajn metadatenojn al la ruleblaj dosieroj de UEFI-komponentoj, kiuj inkluzivas informojn pri la fabrikanto, produkto, komponento kaj versio. La specifitaj metadatenoj estas atestitaj per cifereca subskribo kaj povas esti aparte inkluditaj en la listoj de permesitaj aŭ malpermesitaj komponantoj por UEFI Secure Boot.

Plej multaj Linuksaj distribuoj uzas malgrandan shim-tavolon ciferece subskribitan de Microsoft por kontrolita lanĉado en UEFI Secure Boot-reĝimo. Ĉi tiu tavolo kontrolas GRUB2 per sia propra atestilo, kio permesas al distribuaj programistoj ne havi ĉiun kernon kaj GRUB-ĝisdatigon atestita de Microsoft. Vundeblecoj en GRUB2 ebligas al vi atingi la ekzekuton de via kodo en la stadio post sukcesa shim-kontrolo, sed antaŭ ol ŝarĝi la operaciumon, kojni en la ĉenon de fido kiam Secure Boot-reĝimo estas aktiva kaj akiri plenan kontrolon de la plua lanĉa procezo, inkluzive ŝarĝante alian OS, modifante sistemon de komponantoj de operaciumo kaj preterpasi protekton de Lockdown.

Por ripari problemojn en la ekŝargilo, distribuoj devos krei novajn internajn ciferecajn subskribojn kaj ĝisdatigi instalilojn, ekŝargilojn, kernpakaĵojn, fwupd-firmvaro kaj shim-tavolon. Antaŭ la enkonduko de SBAT, ĝisdatigi la atestilliston (dbx, UEFI Revocation List) estis antaŭkondiĉo por tute bloki la vundeblecon, ĉar atakanto, sendepende de la mastruma sistemo uzata, povus uzi starteblajn rimedojn kun malnova vundebla versio de GRUB2, atestita per cifereca subskribo, por kompromiti UEFI Secure Boot.

Anstataŭ revoki subskribon, SBAT ebligas al vi bloki ĝian uzon por individuaj komponaj versinumeroj sen devi revoki la ŝlosilojn por Secure Boot. Bloki vundeblecojn per SBAT ne postulas la uzon de UEFI-atestila revoka listo (dbx), sed estas farita je la nivelo de anstataŭigado de la interna ŝlosilo por generi subskribojn kaj ĝisdatigi GRUB2, shim kaj aliajn lantajn artefaktojn liveritaj de distribuoj. Nuntempe, SBAT-subteno jam estis aldonita al plej popularaj Linukso-distribuoj.

Identigitaj vundeblecoj:

  • CVE-2021-3696, CVE-2021-3695 estas amas-bazitaj bufrosuperfluoj dum prilaborado de speciale dizajnitaj PNG-bildoj, kiuj teorie povas esti uzataj por efektivigi atakan kodon kaj preteriri UEFI Secure Boot. Oni rimarkas, ke la problemo estas malfacile ekspluatebla, ĉar krei funkciantan ekspluaton postulas konsideri grandan nombron da faktoroj kaj la haveblecon de informoj pri la memoraranĝo.
  • CVE-2021-3697 - bufro-subfluo en la JPEG-bildpretigkodo. Ekspluatado de la afero postulas scion pri la memoraranĝo kaj estas je proksimume la sama nivelo de komplekseco kiel la PNG-afero (CVSS 7.5).
  • CVE-2022-28733 - Entjera superfluo en la funkcio grub_net_recv_ip4_packets() permesas al la parametro rsm->total_len esti tuŝita per sendo de speciale kreita IP-pako. La afero estas markita kiel la plej danĝera el la prezentitaj vundeblecoj (CVSS 8.1). Se sukcese ekspluatite, la vundebleco permesas al datumoj esti skribitaj preter la bufrolimo asignante konscie pli malgrandan memorgrandecon.
  • CVE-2022-28734 - Unubajta bufro superfluo dum prilaborado de nudigitaj HTTP-kapoj. Problemo povas kaŭzi korupton de metadatumoj de GRUB2 (skribante nulan bajton tuj post la fino de la bufro) dum analizado de speciale kreitaj HTTP-petoj.
  • CVE-2022-28735 Problemo en la kontrolilo shim_lock permesas ne-kernan dosieron ŝarĝon. La vundebleco povas esti uzata por ŝargi nesubskribitajn kernmodulojn aŭ nekontrolitan kodon en UEFI Secure Boot-reĝimo.
  • CVE-2022-28736 Jam liberigita memoraliro en la funkcio grub_cmd_chainloader() per rerulo de la komando ĉenŝargilo, uzata por lanĉi operaciumojn ne subtenatajn de GRUB2. Ekspluato povus rezultigi atakan kodekzekuton se la atakanto kapablas determini memor-atribuon en GRUB2
  • CVE-2022-28737 - Bufra superfluo en la shim-tavolo okazas en la funkcio handle_image() dum ŝarĝo kaj plenumado de kreitaj EFI-bildoj.

fonto: opennet.ru

Aldoni komenton