Kerentanan (CVE-2023-4692) telah dikenal pasti dalam pemacu yang menyokong sistem fail NTFS dalam pemuat but GRUB2. Kerentanan ini membolehkan pelaksanaan kod tersuai pada peringkat pemuat but apabila mengakses imej sistem fail yang direka khas. Kerentanan ini boleh dieksploitasi untuk memintas mekanisme but yang disahkan UEFI Secure Boot.
Kerentanan disebabkan oleh ralat dalam kod penghuraian untuk atribut NTFS "$ATTRIBUTE_LIST" (grub-core/fs/ntfs.c), yang boleh dieksploitasi untuk menulis maklumat dikawal pengguna ke lokasi memori di luar penimbal yang diperuntukkan. Apabila memproses imej NTFS yang dibuat khas, limpahan membawa kepada menulis ganti sebahagian memori GRUB dan, dalam keadaan tertentu, merosakkan memori perisian tegar UEFI, yang berpotensi membenarkan pelaksanaan kod pada pemuat but atau tahap perisian tegar.
Tambahan pula, satu lagi kelemahan (CVE-2023-4693) ditemui dalam pemacu NTFS dalam GRUB2. Kerentanan ini membolehkan pembacaan kandungan memori sewenang-wenangnya apabila menghuraikan atribut "$DATA" dalam imej NTFS yang direka khas. Antara lain, kelemahan ini membolehkan pengekstrakan data sensitif yang dicache dalam ingatan atau penentuan nilai pembolehubah EFI.
Isu-isu tersebut setakat ini hanya dapat ditangani melalui tampalan. Status pembetulan kerentanan dalam pengedaran boleh dinilai pada halaman ini: Debian, Ubuntu, SUSE, RHEL, Fedora. Memperbaiki isu GRUB2 memerlukan lebih daripada sekadar mengemas kini pakej; ia juga memerlukan penjanaan tandatangan digital dalaman baharu dan mengemas kini pemasang, pemuat but, pakej kernel, firmware fwupd dan lapisan shim.
paling LinuxPengedaran untuk but yang disahkan dalam mod But Selamat UEFI menggunakan lapisan shim kecil, yang ditandatangani secara digital oleh Microsoft. Lapisan ini mengesahkan GRUB2 dengan sijilnya sendiri, menghapuskan keperluan pembangun pengedaran untuk memaklumkan Microsoft tentang setiap kernel dan kemas kini GRUB. Kerentanan dalam GRUB2 membolehkan pelaksanaan kod sewenang-wenangnya selepas pengesahan shim berjaya, tetapi sebelum sistem pengendalian dibut. Ini membolehkan penyerang memecah masuk ke dalam rantaian kepercayaan apabila But Selamat diaktifkan dan mendapat kawalan penuh ke atas proses but berikutnya, contohnya, untuk but OS lain, mengubah suai komponen sistem pengendalian atau memintas perlindungan Lockdown.
Untuk menyekat kerentanan tanpa membatalkan tandatangan digital, pengedaran boleh menggunakan mekanisme SBAT (UEFI Secure Boot Advanced Targeting), sokongan yang dilaksanakan untuk GRUB2, shim dan fwupd dalam kebanyakan pengedaran popular. LinuxSBAT dibangunkan dengan kerjasama Microsoft dan melibatkan penambahan metadata tambahan pada fail boleh laku komponen UEFI, termasuk maklumat tentang pengilang, produk, komponen dan versi. Metadata ini ditandatangani secara digital dan boleh dimasukkan secara berasingan dalam senarai komponen yang dibenarkan atau ditolak untuk UEFI Secure Boot.
SBAT membenarkan menyekat penggunaan tandatangan digital untuk nombor versi komponen individu tanpa perlu membatalkan kekunci 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 UEFI (dbx) adalah syarat wajib untuk menyekat sepenuhnya kerentanan, kerana penyerang, tanpa mengira sistem pengendalian yang digunakan, boleh menggunakan kekunci but untuk menjejaskan UEFI Secure Boot.
Sumber: opennet.ru
