Dua kelemahan dalam GRUB2 yang membolehkan anda memintas perlindungan UEFI Secure Boot

Maklumat telah didedahkan tentang dua kelemahan dalam pemuat but GRUB2, yang boleh membawa kepada pelaksanaan kod apabila menggunakan fon yang direka khas dan memproses urutan Unicode tertentu. Kerentanan boleh digunakan untuk memintas mekanisme but yang disahkan UEFI Secure Boot.

Kelemahan yang dikenal pasti:

  • CVE-2022-2601 - Limpahan penimbal dalam fungsi grub_font_construct_glyph() apabila memproses fon yang direka khas dalam format pf2, yang berlaku disebabkan pengiraan parameter max_glyph_size yang salah dan peruntukan kawasan memori yang jelas lebih kecil daripada yang diperlukan untuk menampung glyph.
  • CVE-2022-3775 Tulisan di luar sempadan berlaku apabila memaparkan beberapa jujukan Unikod dalam fon gaya khas. Masalahnya adalah dalam kod pemprosesan fon dan disebabkan oleh kekurangan pemeriksaan yang betul untuk memastikan bahawa lebar dan ketinggian mesin terbang sepadan dengan saiz peta bit yang tersedia. Penyerang boleh membuat input sedemikian rupa sehingga menyebabkan ekor data ditulis ke luar penimbal yang diperuntukkan. Adalah diperhatikan bahawa walaupun kerumitan mengeksploitasi kelemahan, membawa masalah kepada pelaksanaan kod tidak dikecualikan.

Pembetulan telah diterbitkan sebagai tampalan. Status menghapuskan kelemahan dalam pengedaran boleh dinilai pada halaman ini: Ubuntu, SUSE, RHEL, Fedora, Debian. Untuk menyelesaikan masalah dalam GRUB2, tidak cukup dengan hanya mengemas kini pakej; anda juga perlu menjana tandatangan digital dalaman baharu dan kemas kini pemasang, pemuat but, pakej kernel, firmware fwupd dan lapisan shim.

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 menyekat kelemahan tanpa membatalkan tandatangan digital, pengedaran boleh menggunakan mekanisme SBAT (UEFI Secure Boot Advanced Targeting), yang disokong untuk GRUB2, shim dan fwupd dalam kebanyakan pengedaran Linux yang popular. 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.

SBAT membolehkan anda menyekat penggunaan tandatangan digital untuk nombor versi komponen individu tanpa perlu membatalkan kunci untuk Boot Selamat. 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. Sebelum pengenalan SBAT, mengemas kini senarai pembatalan sijil (dbx, Senarai Pembatalan UEFI) merupakan prasyarat untuk menyekat sepenuhnya kerentanan, kerana penyerang, tanpa mengira sistem pengendalian yang digunakan, boleh menggunakan media boleh boot dengan versi rentan lama GRUB2 diperakui oleh tandatangan digital untuk menjejaskan UEFI Secure Boot .

Sumber: opennet.ru

Tambah komen