Крытычная ўразлівасць у загрузніку GRUB2, якая дазваляе абыйсці UEFI Secure Boot

У загрузніку GRUB2 выяўлена 8 уразлівасцяў. Найбольш небяспечная праблема (CVE-2020-10713), якой прысвоена кодавае імя BootHole, дае магчымасць абыйсці механізм UEFI Secure Boot і дамагчыся ўстаноўкі неверыфікаванага шкоднаснага ПЗ. Асаблівасцю дадзенай уразлівасці з'яўляецца тое, што для яе ўхілення не досыць абнавіць GRUB2, бо атакавалы можа выкарыстаць загрузны носьбіт са старой уразлівай версіяй, заверанай лічбавым подпісам. Атакуючы можа скампраметаваць працэс верыфікацыі не толькі Linux, але і іншых аперацыйных сістэм, уключаючы Windows.

Праблема вырашаецца толькі абнаўленнем у сістэме спісу адкліканых сертыфікатаў (dbx, UEFI Revocation List), але ў гэтым выпадку будзе страчана магчымасць выкарыстання старых усталявальных носьбітаў c Linux. Некаторыя вытворцы абсталявання ўжо ўключылі ў свае прашыўкі абноўлены спіс адкліканых сертыфікатаў, на такіх сістэмах у рэжыме UEFI Secure Boot можна будзе загрузіць толькі абноўленыя зборкі дыстрыбутываў Linux.

Для ўхілення ўразлівасці ў дыстрыбутывах таксама запатрабуецца абнавіць усталёўнікі, загрузнікі, пакеты з ядром, fwupd-прашыўкі і shim-праслойку, згенераваўшы для іх новыя лічбавыя подпісы. Карыстальнікі павінны будуць абнавіць усталявальныя выявы і іншыя загрузныя носьбіты, а таксама загрузіць спіс адкліканых сертыфікатаў (dbx) у прашыўку UEFI. Да абнаўлення dbx у UEFI сістэма застаецца ўразлівай незалежна ад усталёўкі абнаўленняў у АС.

ўразлівасць выклікана перапаўненнем буфера, які можа быць эксплуатаваны для выканання адвольнага кода падчас загрузкі.
Уразлівасць выяўляецца пры разборы змесціва файла канфігурацыі grub.cfg, які звычайна размяшчаецца ў падзеле ESP (EFI System Partition) і можа быць адрэдагаваны атакавалым, мелым правы адміністратара, без парушэння цэласнасці падпісаных выкананых файлаў shim і GRUB2. З-за памылкі у кодзе парсера канфігурацыі, апрацоўшчык фатальных памылак разбору YY_FATAL_ERROR толькі выводзіў папярэджанне, але не завяршаў працу праграмы. Небяспека ўразлівасці змяншаецца неабходнасцю наяўнасці прывілеяванага доступу да сістэмы, тым не менш, праблема можа апынуцца запатрабаванай для ўкаранення ўтоеных rootkit-ов пры наяўнасці фізічнага доступу да абсталявання (пры магчымасці загрузкі са свайго носьбіта).

У большасці Linux-дыстрыбутываў для верыфікаванай загрузкі выкарыстоўваецца невялікая праслойка shim, завераная лічбавым подпісам Microsoft. Дадзеная праслойка верыфікуе GRUB2 уласным сертыфікатам, што дазваляе распрацоўнікам дыстрыбутываў не завяраць кожнае абнаўленне ядра і GRUB у Microsoft. Уразлівасць дазваляе праз змену змесціва grub.cfg дамагчыся выкананні свайго кода на этапе пасля паспяховай верыфікацыі shim, але да загрузкі аперацыйнай сістэмы, уклініўшыся ў ланцужок даверу пры актыўным рэжыме Secure Boot і атрымаўшы поўны кантроль за наступным працэсам загрузкі, у тым ліку для загрузкі іншай АС , мадыфікацыі кампанентаў аперацыйнай сістэмы і абыходу абароны Lockdown.

Крытычная ўразлівасць у загрузніку GRUB2, якая дазваляе абыйсці UEFI Secure Boot

Іншыя ўразлівасці ў GRUB2:

  • CVE-2020-14308 - перапаўненне буфера з-за адсутнасці праверкі памеру вылучаемай вобласці памяці ў grub_malloc;
  • CVE-2020-14309 - цэлалікае перапаўненне ў grub_squash_read_symlink, якое можа прывесці да запісу дадзеных за межамі выдзеленага буфера;
  • CVE-2020-14310 - цэлалікае перапаўненне вread_section_from_string, якое можа прывесці да запісу дадзеных за межамі выдзеленага буфера;
  • CVE-2020-14311 - цэлалікае перапаўненне ў grub_ext2_read_link, якое можа прывесці да запісу дадзеных за межамі выдзеленага буфера;
  • CVE-2020-15705 - дазваляе загружаць непадпісаныя ядры пры прамой загрузцы ў рэжыме Secure Boot без праслойкі shim;
  • CVE-2020-15706 - Зварот да ўжо вызваленай вобласці памяці (use-after-free) пры перавызначэнні функцыі падчас выканання;
  • CVE-2020-15707 - цэлалікае перапаўненне ў апрацоўшчыку памеру initrd.

Абнаўленні пакетаў з выпраўленнямі выпушчаны для Debian, Ubuntu, RHEL и SUSE. Для GRUB2 прапанаваны набор патчаў.

Крыніца: opennet.ru

Дадаць каментар