GRUB2'de UEFI Güvenli Önyükleme korumasını atlamanıza izin veren iki güvenlik açığı

GRUB2 önyükleyicisindeki, özel olarak tasarlanmış yazı tiplerini kullanırken ve belirli Unicode dizilerini işlerken kod yürütülmesine yol açabilecek iki güvenlik açığı hakkında bilgi açıklandı. Güvenlik açıkları, UEFI Güvenli Önyükleme onaylı önyükleme mekanizmasını atlamak için kullanılabilir.

Tanımlanan güvenlik açıkları:

  • CVE-2022-2601 - pf2 formatında özel olarak tasarlanmış yazı tipleri işlenirken grub_font_construct_glyph() işlevinde arabellek taşması; max_glyph_size parametresinin yanlış hesaplanması ve bellek alanının gerekenden açıkça daha küçük olması nedeniyle ortaya çıkar. gliflere uyum sağlayın.
  • CVE-2022-3775 Bazı Unicode dizileri özel olarak tasarlanmış bir yazı tipinde oluşturulurken sınırların dışında yazma meydana geliyor. Sorun yazı tipi işleme kodundadır ve glifin genişliğinin ve yüksekliğinin mevcut bitmap boyutuyla eşleştiğinden emin olmak için uygun kontrollerin yapılmamasından kaynaklanmaktadır. Saldırgan, girdiyi, verinin kuyruğunun tahsis edilen arabelleğin dışına yazılmasına neden olacak şekilde düzenleyebilir. Güvenlik açığından yararlanmanın karmaşıklığına rağmen, sorunun kod yürütmeye getirilmesinin göz ardı edilmediği belirtiliyor.

Düzeltme yama olarak yayınlandı. Dağıtımlardaki güvenlik açıklarının ortadan kaldırılması durumu şu sayfalardan değerlendirilebilir: Ubuntu, SUSE, RHEL, Fedora, Debian. GRUB2'deki sorunları düzeltmek için sadece paketi güncellemek yeterli değildir; ayrıca yeni dahili dijital imzalar oluşturmanız ve yükleyicileri, önyükleyicileri, çekirdek paketlerini, fwupd ürün yazılımını ve dolgu katmanını güncellemeniz gerekecektir.

Çoğu Linux dağıtımı, UEFI Güvenli Önyükleme modunda doğrulanmış önyükleme için Microsoft tarafından dijital olarak imzalanmış küçük bir dolgu katmanı kullanır. Bu katman GRUB2'yi kendi sertifikasıyla doğrular; bu da dağıtım geliştiricilerinin her çekirdeğin ve GRUB güncellemesinin Microsoft tarafından onaylanmasına izin vermez. GRUB2'deki güvenlik açıkları, başarılı dolgu doğrulamasından sonraki aşamada kodunuzun yürütülmesine, ancak işletim sistemini yüklemeden önce, Güvenli Önyükleme modu etkinken güven zincirine girmenize ve aşağıdakiler de dahil olmak üzere sonraki önyükleme süreci üzerinde tam kontrol elde etmenize olanak tanır: başka bir işletim sistemi yüklemek, işletim sistemi bileşenleri sistemini değiştirmek ve Kilitleme korumasını atlamak.

Dağıtımlar, dijital imzayı iptal etmeden güvenlik açığını engellemek için, en popüler Linux dağıtımlarında GRUB2, shim ve fwupd için desteklenen SBAT (UEFI Güvenli Önyükleme Gelişmiş Hedefleme) mekanizmasını kullanabilir. SBAT, Microsoft ile ortaklaşa geliştirilmiştir ve UEFI bileşenlerinin yürütülebilir dosyalarına üretici, ürün, bileşen ve sürüm hakkında bilgiler içeren ek meta veriler eklemeyi içerir. Belirtilen meta veriler dijital imzayla onaylanmıştır ve UEFI Güvenli Önyükleme için izin verilen veya yasaklanan bileşenler listesine ayrı olarak dahil edilebilir.

SBAT, Güvenli Önyükleme anahtarlarını iptal etmek zorunda kalmadan ayrı bileşen sürüm numaraları için dijital imzaların kullanımını engellemenize olanak tanır. Güvenlik açıklarının SBAT aracılığıyla engellenmesi, bir UEFI sertifika iptal listesinin (dbx) kullanılmasını gerektirmez, ancak imzalar oluşturmak ve dağıtımlar tarafından sağlanan GRUB2, shim ve diğer önyükleme yapıtlarını güncellemek için dahili anahtarın değiştirilmesi düzeyinde gerçekleştirilir. SBAT kullanıma sunulmadan önce, bir saldırgan, kullanılan işletim sistemi ne olursa olsun, GRUB2'nin güvenlik açığı bulunan eski bir sürümüne sahip önyüklenebilir medyayı kullanabileceğinden, sertifika iptal listesinin (dbx, UEFI İptal Listesi) güncellenmesi güvenlik açığının tamamen engellenmesi için bir ön koşuldu. UEFI Güvenli Önyükleme'den ödün vermek için dijital imzayla onaylanmıştır.

Kaynak: opennet.ru

Yorum ekle