Malfacile ripareblaj vundeblecoj en GRUB2, kiuj permesas vin preteriri UEFI Secure Boot

Informoj estis malkaŝitaj pri 8 vundeblecoj en la GRUB2-ŝ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.

Ni rememoru, ke en la plej multaj Linuksaj distribuoj, por kontrolita lanĉado en UEFI Secure Boot-reĝimo, estas uzata malgranda shimtavolo, ciferece subskribita de Microsoft. Ĉ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.

Kiel kun la vundebleco de BootHole de la pasinta jaro, ĝisdatigi la ekŝargilon ne sufiĉas por bloki la problemon, ĉar atakanto, sendepende de la operaciumo uzata, povas uzi ekfunkciigeblajn rimedojn kun malnova, ciferece subskribita, vundebla versio de GRUB2 por kompromiti UEFI Secure Boot. La problemo povas esti solvita nur per ĝisdatigo de la atestilisto (dbx, UEFI Revocation List), sed ĉi-kaze la kapablo uzi malnovajn instalaĵojn kun Linukso perdiĝos.

Sur sistemoj kun firmvaro kiu havas ĝisdatigitan atestilan revokaliston, nur ĝisdatigitaj konstruoj de Linukso-distribuoj povas esti ŝarĝitaj en UEFI Secure Boot-reĝimo. Distribuoj devos ĝisdatigi instalilojn, ekŝargilojn, kernpakaĵojn, fwupd-firmvaro kaj shim-tavolon, generante novajn ciferecajn subskribojn por ili. Uzantoj devos ĝisdatigi instalajn bildojn kaj aliajn starteblajn rimedojn, kaj ankaŭ ŝargi atestilliston (dbx) en la UEFI-firmvaro. Antaŭ ĝisdatigi dbx al UEFI, la sistemo restas vundebla sendepende de la instalado de ĝisdatigoj en la OS. La stato de vundeblecoj povas esti taksata sur ĉi tiuj paĝoj: Ubuntu, SUSE, RHEL, Debian.

Por solvi problemojn, kiuj aperas dum distribuado de revokitaj atestiloj, estonte oni planas uzi la mekanismon SBAT (UEFI Secure Boot Advanced Targeting), kies subteno estis efektivigita por GRUB2, shim kaj fwupd, kaj ekde la sekvaj ĝisdatigoj estos. uzata anstataŭ la funkcieco provizita de la dbxtool-pakaĵo. SBAT estis evoluigita kune kun Mikrosofto kaj implikas aldoni novajn 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 aldone esti inkluzivitaj en la listoj de permesitaj aŭ malpermesitaj komponantoj por UEFI Secure Boot. Tiel, SBAT permesos al vi manipuli komponentajn versinumeroj dum revoko sen neceso regeneri ŝlosilojn por Secure Boot kaj sen generi novajn subskribojn por la kerno, shim, grub2 kaj fwupd.

Identigitaj vundeblecoj:

  • CVE-2020-14372 - Uzante la acpi-komandon en GRUB2, privilegiita uzanto en la loka sistemo povas ŝargi modifitajn ACPI-tabelojn metante SSDT (Sekundara Sistema Priskribo-Tabelo) en la dosierujon /boot/efi kaj ŝanĝante agordojn en grub.cfg. Kvankam Secure Boot-reĝimo estas aktiva, la proponita SSDT estos ekzekutita de la kerno kaj povas esti uzata por malŝalti LockDown-protekton, kiu blokas UEFI Secure Boot bypass-vojojn. Kiel rezulto, atakanto povas atingi ŝarĝon de sia kernmodulo aŭ ruli kodon per la kexec-mekanismo, sen kontroli la ciferecan subskribon.
  • CVE-2020-25632 estas uzebla post-libera memoraliro en la efektivigo de la komando rmmod, kiu okazas kiam oni provos malŝarĝi ajnan modulon sen konsideri la dependecojn asociitajn kun ĝi. La vundebleco ne ekskludas la kreadon de ekspluato, kiu povus konduki al koda ekzekuto preterpasante Secure Boot-konfirmon.
  • CVE-2020-25647 Eksterlima skribo en la grub_usb_device_initialize() funkcio vokita dum pravalorigo de USB-aparatoj. La problemo povas esti ekspluatata per konekto de speciale preparita USB-aparato, kiu produktas parametrojn, kies grandeco ne respondas al la grandeco de la bufro asignita por USB-strukturoj. Atakanto povas atingi ekzekuton de kodo ne kontrolita en Secure Boot manipulante USB-aparatojn.
  • CVE-2020-27749 estas bufra superfluo en la funkcio grub_parser_split_cmdline(), kiu povas esti kaŭzita de specifado de variabloj pli grandaj ol 2 KB sur la komandlinio GRUB1. La vundebleco permesas al la ekzekuto de kodo preteriri Secure Boot.
  • CVE-2020-27779 - La cutmem-komando permesas al atakanto forigi gamon da adresoj de memoro por preteriri Sekuran Boton.
  • CVE-2021-3418 - Ŝanĝoj al shim_lock kreis plian vektoron por ekspluati la lastjaran vundeblecon CVE-2020-15705. Instalante la atestilon uzatan por subskribi GRUB2 en dbx, GRUB2 permesis rekte ŝargi ajnan kernon sen kontroli la subskribon.
  • CVE-2021-20225 - Ebleco verki eksterlimajn datumojn dum rulado de komandoj kun tre granda nombro da opcioj.
  • CVE-2021-20233 - Ebleco skribi datumojn ekster limoj pro malĝusta kalkulo de bufrograndeco dum uzado de citaĵoj. Dum kalkulado de la grandeco, estis supozite ke tri karakteroj estis postulataj por eskapi ununuran citaĵon, kiam fakte kvar estis postulataj.

fonto: opennet.ru

Aldoni komenton