Kerentanan dalam GRUB2 yang membolehkan anda memintas UEFI Secure Boot

2 kelemahan telah diperbaiki dalam pemuat but GRUB7 yang membolehkan anda memintas mekanisme UEFI Secure Boot dan menjalankan kod yang tidak disahkan, contohnya, melaksanakan perisian hasad yang dijalankan pada pemuat but atau peringkat kernel. Selain itu, terdapat satu kelemahan dalam lapisan shim, yang juga membolehkan anda memintas UEFI Secure Boot. Kumpulan kelemahan itu diberi nama kod Boothole 3, serupa dengan masalah serupa yang dikenal pasti sebelum ini dalam pemuat but.

Untuk menyelesaikan masalah dalam GRUB2 dan shim, pengedaran akan dapat menggunakan mekanisme SBAT (UEFI Secure Boot Advanced Targeting), yang disokong untuk GRUB2, shim dan fwupd. SBAT dibangunkan bersama Microsoft dan melibatkan penambahan metadata tambahan pada fail boleh laku komponen UEFI, yang merangkumi maklumat tentang pengilang, produk, komponen dan versi. Metadata yang ditentukan diperakui dengan tandatangan digital dan boleh dimasukkan secara berasingan dalam senarai komponen yang dibenarkan atau dilarang untuk UEFI Secure Boot.

Kebanyakan pengedaran Linux menggunakan lapisan shim kecil yang ditandatangani secara digital oleh Microsoft untuk but yang disahkan dalam mod UEFI Secure Boot. Lapisan ini mengesahkan GRUB2 dengan sijilnya sendiri, yang membenarkan pembangun pengedaran tidak mempunyai setiap kernel dan kemas kini GRUB yang diperakui oleh Microsoft. Kerentanan dalam GRUB2 membolehkan anda mencapai pelaksanaan kod anda pada peringkat selepas pengesahan shim berjaya, tetapi sebelum memuatkan sistem pengendalian, terikat ke dalam rantai kepercayaan apabila mod Boot Selamat aktif dan mendapat kawalan penuh ke atas proses but selanjutnya, termasuk memuatkan OS lain, mengubah suai sistem komponen sistem pengendalian dan memintas perlindungan Lockdown.

Untuk menyelesaikan masalah dalam pemuat but, pengedaran perlu mencipta tandatangan digital dalaman baharu dan pemasang kemas kini, pemuat but, pakej kernel, perisian tegar fwupd dan lapisan shim. Sebelum pengenalan SBAT, mengemas kini senarai pembatalan sijil (dbx, Senarai Pembatalan UEFI) adalah prasyarat untuk menyekat sepenuhnya kerentanan, kerana penyerang, tanpa mengira sistem pengendalian yang digunakan, boleh menggunakan media boleh boot dengan versi GRUB2 yang terdedah lama, diperakui oleh tandatangan digital, untuk menjejaskan UEFI Secure Boot .

Daripada membatalkan tandatangan, SBAT membenarkan anda menyekat penggunaannya untuk nombor versi komponen individu tanpa perlu membatalkan kekunci untuk Secure Boot. Menyekat kelemahan melalui SBAT tidak memerlukan penggunaan senarai pembatalan sijil UEFI (dbx), tetapi dilakukan pada tahap menggantikan kunci dalaman untuk menjana tandatangan dan mengemas kini GRUB2, shim dan artifak but lain yang dibekalkan oleh pengedaran. Pada masa ini, sokongan SBAT telah pun ditambahkan pada kebanyakan pengedaran Linux yang popular.

Kelemahan yang dikenal pasti:

  • CVE-2021-3696, CVE-2021-3695 ialah limpahan penimbal berasaskan timbunan apabila memproses imej PNG yang direka khas, yang secara teorinya boleh digunakan untuk melaksanakan kod penyerang dan memintas UEFI Secure Boot. Perlu diingatkan bahawa masalahnya sukar untuk dieksploitasi, kerana mencipta eksploitasi kerja memerlukan mengambil kira sejumlah besar faktor dan ketersediaan maklumat mengenai susun atur memori.
  • CVE-2021-3697 - Aliran bawah penimbal dalam kod pemprosesan imej JPEG. Mengeksploitasi isu memerlukan pengetahuan tentang susun atur memori dan berada pada tahap kerumitan yang hampir sama dengan isu PNG (CVSS 7.5).
  • CVE-2022-28733 - Limpahan integer dalam fungsi grub_net_recv_ip4_packets() membenarkan parameter rsm->total_len terjejas dengan menghantar paket IP yang direka khas. Isu ini ditandakan sebagai yang paling berbahaya daripada kelemahan yang dibentangkan (CVSS 8.1). Jika berjaya dieksploitasi, kerentanan membenarkan data ditulis di luar sempadan penimbal dengan memperuntukkan saiz memori yang sengaja lebih kecil.
  • CVE-2022-28734 - Limpahan penimbal bait tunggal apabila memproses pengepala HTTP yang dilucutkan. Isu boleh menyebabkan kerosakan metadata GRUB2 (menulis bait nol selepas tamat penimbal) apabila menghuraikan permintaan HTTP yang dibuat khas.
  • CVE-2022-28735 Isu dalam pengesah shim_lock membenarkan pemuatan fail bukan kernel. Kerentanan boleh digunakan untuk memuatkan modul kernel yang tidak ditandatangani atau kod yang tidak disahkan dalam mod UEFI Secure Boot.
  • CVE-2022-28736 Akses memori yang telah dibebaskan dalam fungsi grub_cmd_chainloader() melalui jalan semula perintah pemuat rantai, digunakan untuk but sistem pengendalian yang tidak disokong oleh GRUB2. Eksploitasi boleh mengakibatkan pelaksanaan kod penyerang jika penyerang dapat menentukan peruntukan memori dalam GRUB2
  • CVE-2022-28737 - Limpahan penimbal dalam lapisan shim berlaku dalam fungsi handle_image() apabila memuatkan dan melaksanakan imej EFI yang dibuat.

Sumber: opennet.ru

Tambah komen