Mga kahuyangan sa GRUB2 nga makalikay sa UEFI Secure Boot

2 nga mga kahuyangan naayo sa GRUB7 bootloader nga nagtugot sa pag-bypass sa UEFI Secure Boot nga mekanismo ug pagtugot sa unverified code nga modagan, pananglitan, pag-inject sa malware nga nagtrabaho sa bootloader o kernel level. Dugang pa, adunay usa ka kahuyang sa shim layer, nga nagtugot usab kanimo sa pag-bypass sa UEFI Secure Boot. Ang grupo sa mga kahuyangan gi-codenamed Boothole 3, susama sa susamang mga problema nga giila kaniadto sa bootloader.

Aron ayuhon ang mga problema sa GRUB2 ug shim, ang mga distribusyon makahimo sa paggamit sa SBAT (UEFI Secure Boot Advanced Targeting) nga mekanismo, nga gisuportahan sa GRUB2, shim ug fwupd. Ang SBAT gimugna sa pakigtambayayong sa Microsoft ug naglakip sa pagdugang ug dugang nga metadata sa UEFI component executable files, nga naglakip sa impormasyon bahin sa manufacturer, produkto, component, ug version. Ang espesipikong metadata gipirmahan sa digital ug mahimong gilain nga iapil sa mga lista sa gitugotan o gidili nga mga sangkap alang sa UEFI Secure Boot.

Kadaghanan sa mga distribusyon sa Linux naggamit ug gamay nga shim layer, digital nga gipirmahan sa Microsoft, para sa verified boot sa UEFI Secure Boot mode. Kini nga layer nagpamatuod sa GRUB2 nga adunay kaugalingon nga sertipiko, nga nagtugot sa mga developer sa pag-apod-apod nga dili ma-certify ang matag kernel ug GRUB update sa Microsoft. Ang mga kahuyangan sa GRUB2 nagtugot kanimo nga ipatuman ang imong code sa entablado pagkahuman sa malampuson nga pag-verify sa shim, apan sa wala pa i-load ang operating system, nga nagdugtong sa kadena sa pagsalig sa Secure Boot mode nga aktibo ug nakuha ang hingpit nga kontrol sa dugang nga proseso sa boot, lakip ang pag-boot sa lain. OS, pagbag-o sa sistema sa mga sangkap sa operating system ug laktawan ang proteksyon sa pag-lock.

Aron ayuhon ang mga problema sa bootloader, ang mga distribusyon kinahanglang maghimo ug bag-ong internal nga digital signatures ug mag-update sa mga installer, bootloader, kernel packages, fwupd-firmware ug shim-layer. Sa wala pa ang pagpaila sa SBAT, ang pag-update sa lista sa gibawi nga mga sertipiko (dbx, UEFI Revocation List) usa ka kinahanglanon alang sa hingpit nga pagbabag sa pagkahuyang, tungod kay ang usa ka tig-atake, bisan unsa pa ang operating system nga gigamit, mahimo’g mogamit sa boot media nga adunay usa ka karaan nga huyang nga bersyon sa GRUB2 gisertipikado sa usa ka digital nga pirma aron makompromiso ang UEFI Secure Boot.

Imbis nga bawion ang pirma, gitugotan ka sa SBAT nga babagan ang paggamit niini alang sa indibidwal nga mga numero sa bersyon sa sangkap nga dili kinahanglan nga bawion ang mga yawe alang sa Secure Boot. Ang pagbabag sa mga kahuyangan pinaagi sa SBAT wala magkinahanglan sa paggamit sa UEFI CRL (dbx), apan gihimo sa lebel sa pag-ilis sa internal nga yawe aron makamugna og mga pirma ug pag-update sa GRUB2, shim, ug uban pang mga boot artifact nga gihatag sa mga distribusyon. Ang suporta sa SBAT gidugang na karon sa labing inila nga mga distribusyon sa Linux.

Giila nga mga kahuyangan:

  • CVE-2021-3696, CVE-2021-3695 - Ang heap buffer nag-awas kung giproseso ang espesyal nga gidisenyo nga PNG nga mga imahe, nga mahimong magamit sa teorya aron maorganisar ang pagpatuman sa code sa pag-atake ug pag-bypass sa UEFI Secure Boot. Namatikdan nga ang problema lisud pahimuslan, tungod kay ang paghimo sa usa ka nagtrabaho nga pagpahimulos nanginahanglan nga tagdon ang daghang mga hinungdan ug ang pagkaanaa sa kasayuran bahin sa layout sa memorya.
  • CVE-2021-3697 - Buffer underflow sa JPEG image processing code. Ang pagpahimulos sa problema nanginahanglan kahibalo sa layout sa memorya ug hapit parehas nga lebel sa pagkakomplikado sa problema sa PNG (CVSS 7.5).
  • CVE-2022-28733 - Usa ka integer overflow sa grub_net_recv_ip4_packets() function nga nagtugot kanimo sa pag-impluwensya sa rsm->total_len parameter pinaagi sa pagpadala sa usa ka espesyal nga gihimo nga IP packet. Ang isyu gimarkahan nga labing delikado sa gipresentar nga mga kahuyangan (CVSS 8.1). Kung malampuson nga gipahimuslan, ang pagkahuyang nagtugot sa mga datos nga isulat sa gawas sa buffer boundary pinaagi sa paggahin sa usa ka tinuyo nga mas gamay nga gidak-on sa memorya.
  • CVE-2022-28734 - Usa ka byte buffer overflow samtang giproseso ang split HTTP header. Ang isyu mahimong hinungdan sa GRUB2 metadata nga madaot (isulat ang usa ka null byte nga milabay lang sa katapusan sa buffer) kung ang pag-parse sa espesyal nga gihimo nga mga hangyo sa HTTP.
  • CVE-2022-28735 - Usa ka isyu sa shim_lock verifier nga nagtugot sa loading non-kernel files. Ang pagkahuyang mahimong mapahimuslan aron ma-boot ang wala’y pirma nga mga module sa kernel o wala mapamatud-an nga code sa UEFI Secure Boot mode.
  • CVE-2022-28736 - Pag-access sa usa ka libre na nga memory area sa grub_cmd_chainloader() function pinaagi sa pagpadagan pag-usab sa chainloader command nga gigamit sa pagkarga sa mga operating system nga dili suportado sa GRUB2. Ang pagpahimulos mahimong mosangpot sa pagpatuman sa code sa pag-atake kung ang tig-atake makahimo sa pagtino sa mga detalye sa alokasyon sa memorya sa GRUB2
  • CVE-2022-28737 - Pag-awas sa buffer sa shim layer sa handle_image() function sa dihang nagkarga ug nagpatuman sa custom nga EFI nga mga hulagway.

Source: opennet.ru

Idugang sa usa ka comment