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 bir yama olarak yayınlandı. Dağıtımlardaki güvenlik açığı düzeltmelerinin durumu şu sayfalardan değerlendirilebilir: UbuntuSUSE, RHEL, Fedora, DebianGRUB2 sorunlarını gidermek yalnızca paketi güncellemekten daha fazlasını gerektirir; ayrıca yeni dahili dijital imzalar oluşturmayı ve yükleyicileri, önyükleyicileri, çekirdek paketlerini, fwupd aygıt yazılımını ve ara katmanı güncellemeyi de gerektirir.
Çoğu LinuxUEFI Güvenli Önyükleme modunda doğrulanmış önyükleme için dağıtımlar, Microsoft tarafından dijital olarak imzalanmış küçük bir ara katman kullanır. Bu katman, GRUB2'yi kendi sertifikasıyla doğrular ve dağıtım geliştiricilerinin her çekirdek ve GRUB güncellemesi için Microsoft'u bilgilendirme ihtiyacını ortadan kaldırır. GRUB2'deki güvenlik açıkları, başarılı ara katman doğrulamasından sonra, ancak işletim sistemi önyüklenmeden önce rastgele kod yürütülmesine olanak tanır. Bu, saldırganların Güvenli Önyükleme etkinleştirildiğinde güven zincirine girmelerine ve başka bir işletim sistemini önyükleme, işletim sistemi bileşenlerini değiştirme ve Kilitlenme korumasını atlama dahil olmak üzere sonraki önyükleme işlemi üzerinde tam kontrol elde etmelerine olanak tanır.
Dijital imzayı iptal etmeden güvenlik açığını engellemek için, dağıtımlar SBAT (UEFI Secure Boot Advanced Targeting) mekanizmasını kullanabilir; bu mekanizma için destek, çoğu popüler dağıtımda GRUB2, shim ve fwupd için uygulanmıştır. LinuxSBAT, Microsoft ile iş birliği içinde geliştirilmiştir ve üretici, ürün, bileşen ve sürüm hakkında bilgiler de dahil olmak üzere UEFI bileşen yürütülebilir dosyalarına ek meta veriler eklemeyi içerir. Bu meta veriler dijital olarak imzalanır ve UEFI Güvenli Önyükleme için izin verilen veya reddedilen bileşenler listelerine 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
