Kritikal na kahinaan sa GRUB2 bootloader na nagbibigay-daan sa iyong i-bypass ang UEFI Secure Boot

Sa GRUB2 bootloader ipinahayag 8 mga kahinaan. Pinaka-delikado problema (CVE-2020-10713), na may codenamed na BootHole, bigyan ng pagkakataon laktawan ang mekanismo ng UEFI Secure Boot at i-install ang hindi na-verify na malware. Ang kakaiba ng kahinaang ito ay ang pagtanggal nito ay hindi sapat na i-update ang GRUB2, dahil ang umaatake ay maaaring gumamit ng bootable media na may lumang vulnerable na bersyon na na-certify ng isang digital signature. Maaaring ikompromiso ng isang umaatake ang proseso ng pag-verify hindi lamang ng Linux, kundi pati na rin ng iba pang mga operating system, kabilang ang Windows.

Ang problema ay malulutas lamang sa pamamagitan ng pag-update ng system listahan ng pagbawi ng sertipiko (dbx, Listahan ng Pagbawi ng UEFI), ngunit sa kasong ito mawawala ang kakayahang gumamit ng lumang media sa pag-install gamit ang Linux. Ang ilang mga tagagawa ng kagamitan ay nagsama na ng na-update na listahan ng mga sertipiko ng pagbawi sa kanilang firmware; sa mga naturang system, tanging ang mga na-update na build ng mga distribusyon ng Linux ang maaaring i-load sa UEFI Secure Boot mode.

Upang maalis ang kahinaan sa mga distribusyon, kakailanganin mo ring i-update ang mga installer, bootloader, kernel packages, fwupd firmware at shim layer, na bumubuo ng mga bagong digital na lagda para sa kanila. Kakailanganin ng mga user na i-update ang mga larawan sa pag-install at iba pang bootable media, pati na rin ang pag-load ng listahan ng pagbawi ng certificate (dbx) sa UEFI firmware. Bago i-update ang dbx sa UEFI, nananatiling mahina ang system anuman ang pag-install ng mga update sa OS.

Kakayahang mangyari sanhi isang buffer overflow na maaaring samantalahin upang magsagawa ng arbitrary code sa panahon ng proseso ng boot.
Ang kahinaan ay nangyayari kapag nag-parse ng mga nilalaman ng grub.cfg configuration file, na karaniwang matatagpuan sa ESP (EFI System Partition) at maaaring i-edit ng isang attacker na may mga karapatan ng administrator nang hindi nilalabag ang integridad ng signed shim at GRUB2 executable file. Dahil sa Mga error sa configuration parser code, ang handler para sa mga fatal parsing error na YY_FATAL_ERROR ay nagpakita lamang ng babala, ngunit hindi tinapos ang program. Ang panganib ng kahinaan ay nababawasan ng pangangailangan para sa privileged access sa system; gayunpaman, ang problema ay maaaring kailanganin upang ipakilala ang mga nakatagong rootkit kung mayroong pisikal na access sa kagamitan (kung posible na mag-boot mula sa iyong sariling media).

Karamihan sa mga pamamahagi ng Linux ay gumagamit ng maliit shim layer, digital na nilagdaan ng Microsoft. Bine-verify ng layer na ito ang GRUB2 gamit ang sarili nitong certificate, na nagpapahintulot sa mga developer ng pamamahagi na hindi magkaroon ng bawat kernel at GRUB update na na-certify ng Microsoft. Ang kahinaan ay nagbibigay-daan, sa pamamagitan ng pagpapalit ng mga nilalaman ng grub.cfg, na makamit ang pagpapatupad ng iyong code sa yugto pagkatapos ng matagumpay na pag-verify ng shim, ngunit bago i-load ang operating system, sumabit sa chain of trust kapag aktibo ang Secure Boot mode at nagkakaroon ng ganap na kontrol sa karagdagang proseso ng pag-boot, kabilang ang pag-load ng isa pang OS , pagbabago ng mga bahagi ng operating system at pag-bypass sa proteksyon Lockdown.

Kritikal na kahinaan sa GRUB2 bootloader na nagbibigay-daan sa iyong i-bypass ang UEFI Secure Boot

Iba pang mga kahinaan sa GRUB2:

  • CVE-2020-14308 β€” buffer overflow dahil sa kakulangan ng pagsuri sa laki ng inilalaang lugar ng memorya sa grub_malloc;
  • CVE-2020-14309 - isang integer overflow sa grub_squash_read_symlink, na maaaring humantong sa pagsusulat ng data na lampas sa inilalaang buffer;
  • CVE-2020-14310 - integer overflow sa read_section_from_string, na maaaring humantong sa pagsulat ng data na lampas sa inilaan na buffer;
  • CVE-2020-14311 - isang integer overflow sa grub_ext2_read_link, na maaaring humantong sa pagsusulat ng data na lampas sa inilalaang buffer;
  • CVE-2020-15705 β€” nagbibigay-daan sa iyo na i-load ang mga hindi naka-sign na kernel sa panahon ng direktang pag-boot sa Secure Boot mode nang walang shim layer;
  • CVE-2020-15706 β€” pag-access sa isang napalaya na lugar ng memorya (gamitin pagkatapos-libre) kapag muling tinukoy ang isang function sa runtime;
  • CVE-2020-15707 β€” integer overflow sa initrd size handler.

Ang mga update sa hotfix pack ay inilabas para sa Debian, Ubuntu, RHEL ΠΈ SUSE. Para sa GRUB2 iminungkahi hanay ng mga patch.

Pinagmulan: opennet.ru

Magdagdag ng komento