Yaygın olarak kullanılan U-Boot önyükleyicisinde altı adet güvenlik açığı keşfedildi. Bu açıklar, saldırganların cihaz başlatma sırasında kötü amaçlı kod çalıştırmasına olanak tanıyarak güvenlik korumalarını atlatmayı ve kalıcı kötü amaçlı yazılım yüklemeyi mümkün kılıyor. Firmware güvenlik şirketi Binarly tarafından yayınlanan bir raporda, bu açıkların U-Boot'un FIT (Flattened Image Tree) imza doğrulama kodunda bulunduğu belirtiliyor.
U-Boot, dünyada en yaygın kullanılan açık kaynaklı önyükleyicilerden biridir ve birçok gömülü Linux cihazında bulunur. Bu cihazlar arasında kurumsal sunucuların Temel Yönetim Denetleyicileri (BMC'ler), ağ ekipmanları, endüstriyel sistemler, IoT cihazları ve diğer cihazlar yer alıyor. U-Boot, işletim sistemini yüklemekten sorumlu olduğu için, önyükleyicideki güvenlik açıkları, saldırganların işletim sistemi ve güvenlik yazılımı başlamadan önce cihazı tehlikeye atmasına olanak tanıyabilir.
U-Boot'un güvenlik özelliklerinden biri olan Doğrulanmış Önyükleme (Verified Boot), kriptografik imzalar kullanarak yalnızca güvenilir bir anahtar tarafından imzalanmış firmware ve işletim sistemi görüntülerinin başlatma sırasında yüklenmesini sağlar. Ancak Binarly araştırmacıları, bu özelliğin uygulanmasında altı farklı güvenlik açığı tespit etti. Bu açıklar, hizmet reddinden (DoS) rastgele kod çalıştırmaya kadar çeşitli etkilere sahip.
Teknik Analiz
Açıklanan altı güvenlik açığı şunlardır: BRLY-2026-037: Kötü amaçlı bir firmware görüntüsü işlenirken U-Boot'un çökmesine ve belirli koşullar altında rastgele kod çalıştırmaya yol açan bir kusur. BRLY-2026-038: Firmware imza doğrulaması sırasında saldırganların rastgele kod çalıştırmasına izin veren bir bellek bozulması güvenlik açığı. BRLY-2026-039: Cihazların çökmesine neden olan bir sınır dışı okuma güvenlik açığı. BRLY-2026-040: Özel hazırlanmış firmware görüntülerinin önyükleyiciyi çökertmesine izin veren bir null pointer dereference. BRLY-2026-041: Harici olarak depolanan firmware verilerinin yetersiz doğrulaması nedeniyle U-Boot'un çökmesine yol açan bir kusur. BRLY-2026-042: Sınırsız özyineleme kusuruyla yığın belleğini tüketerek önyükleyiciyi çökerten bir açık.
Önemli Gelişmeler
Binarly'ye göre, güvenlik açıklarından etkilenen kodun çoğu U-Boot sürümü 2013.07'den beri var. Bu durum, açıkların projenin 50'den fazla sürümünü ve güvenlik açığı bulunan kodu kendi firmware'lerinde kullanan satıcıları etkileyebileceği anlamına geliyor. Başarıyla istismar edilmesi halinde, rastgele kod çalıştırma güvenlik açıkları, saldırganların önyükleme sürecinin en erken aşamalarında kod çalıştırmasına olanak tanıyabilir. Bu durum, işletim sistemi yüklenmeden önce gerçekleştiği için saldırganlar firmware güvenlik özelliklerini devre dışı bırakabilir, önyükleme sürecini değiştirebilir, kalıcı firmware kötü amaçlı yazılımı yükleyebilir veya yüksek erişim seviyeleriyle diğer kötü amaçlı eylemleri gerçekleştirebilir.
Sonuç ve Değerlendirme
Binarly, bu güvenlik açıklarını istismar etmek için her zaman fiziksel erişim gerekmediğini belirtiyor. Uzaktan firmware güncellemelerini destekleyen BMC'ler gibi sistemlerde, yönetim arayüzünü ele geçiren bir saldırgan, açıklardan yararlanmak için özel hazırlanmış bir firmware görüntüsü yükleyebilir. Binarly, güvenlik açıklarını U-Boot bakımcılarına bildirdi ve altı konunun tümü için yamalar sundu. Bu yamalar projenin ana kod deposuna kabul edildi. Ancak U-Boot, donanım üreticileri tarafından firmware'e entegre edildiğinden, düzeltmelerin önce satıcıların firmware güncellemelerine dahil edilmesi ve ardından müşterilere dağıtılması gerekiyor. Artık firmware güncellemesi almayan eski veya desteklenmeyen cihazlar hiçbir zaman yamalanmayabilir.
Kaynak: bleepingcomputer.com