Firma güvenlik araştırmacıları, birçok cihazın önyükleme sürecinde kullanılan U-Boot yazılımında altı yeni güvenlik açığı keşfetti. Bu açıklar, ev yönlendiricilerinden akıllı kameralara ve veri merkezi sunucularının yönetim çiplerine kadar geniş bir cihaz yelpazesini etkiliyor. Dört açık cihazın çökmesine neden olabilirken, diğer ikisi ise saldırganın önyükleme işlemi sırasında kendi kodunu çalıştırmasına olanak tanıyor.
U-Boot, işletim sistemi öncesinde çalışan bir bootloader'dır. Bu nedenle, burada bulunan bir güvenlik açığı, ardından yüklenen tüm yazılımların güvenliğini tehlikeye atabilir. Keşfedilen altı açığın tümü, U-Boot'un henüz imza doğrulaması yapmadan güvenilmeyen bir görüntüyü okuduğu sırada tetikleniyor. Bu da saldırganlara, önyükleme zincirinin en temel noktasından sisteme sızma fırsatı veriyor.
Binarly araştırmacıları, U-Boot'un FIT (Flattened Image Tree) paketlerini işlerken kullandığı imza doğrulama mekanizmasını inceledi. Bu mekanizma, kernel, device tree, ramdisk gibi bileşenleri tek bir pakette birleştiriyor ve kontrolü devretmeden önce dijital imzayı kontrol ediyor. Araştırmacılar, bu doğrulama sürecinde altı zayıf nokta buldu. Bu zayıf noktaların çoğu, U-Boot'un 2013.07 sürümünden bu yana var olan kodlarda yer alıyor.
İki kritik açık (BRLY-2026-037 ve BRLY-2026-038), kontrol edilmeyen bir değerden kaynaklanıyor. U-Boot, fdt_get_name işlevini çağırdığında, hatalı bir görüntüde null pointer ve negatif bir uzunluk döndürebiliyor. U-Boot bu değerleri kontrol etmeden kullandığı için, bir açık null pointer'ı takip ederek stack buffer overflow'a yol açarken, diğer açık negatif uzunluğu kullanarak pointer aritmetiği ile bellekte geriye doğru gidip kaydedilmiş dönüş adresini bozuyor. Doğru bellek düzeninde, bu açıklardan herhangi biri saldırganın kodunu çalıştırmasına izin verebiliyor.
Diğer dört açık ise yalnızca çökmeye neden oluyor. BRLY-2026-039 ve BRLY-2026-041, saldırganın kontrol ettiği boyut veya ofset değerlerine güvenerek görüntü sonrası belleği okumaya çalışıyor. BRLY-2026-040, eski bir görüntü formatından gelen null pointer'ı kontrol etmeden kullanıyor. BRLY-2026-042 ise derinlemesine iç içe geçmiş bir görüntü ile stack taşmasına yol açıyor. Binarly, her açık için bir proof-of-concept görüntü ve yeniden üretme adımları yayınladı. Henüz gerçek saldırılarda kullanıldığına dair bir rapor bulunmuyor.
En kötü senaryoda, önyükleme yapamayan bir cihazı kurtarmak için fiziksel erişim ve bellek yongasının temiz bir görüntü ile yeniden programlanması gerekiyor. Kod çalıştırma ise daha ciddi: Bu kadar erken çalışan kod, işletim sistemi altında kalıyor ve normal güvenlik araçları tarafından tespit edilemeyebiliyor. Ancak saldırganın bu açıklardan yararlanabilmesi için öncelikle kötü niyetli bir görüntüyü önyükleme yoluna ulaştırması gerekiyor. Bu da genellikle fiziksel erişim veya ayrıcalıklı bir konum gerektiriyor.
Henüz bu açıkları kapatan kararlı bir U-Boot sürümü bulunmuyor. U-Boot, haziran ayında altı yamayı birleştirdi ancak temmuz sürümü (v2026.07) nisanda dondurulduğu için bu yamaları içermiyor. Bir sonraki sürüm olan v2026.10 ise ekim ayına kadar çıkmayacak. Bu nedenle, U-Boot tabanlı ürünlerin üreticileri ve bakımcıları, Binarly uyarılarındaki commit linklerini takip ederek yamaları şimdi çekmeli. Son kullanıcılar ise ürün üreticilerinden gelen firmware güncellemelerini beklemeli.
Kaynak: thehackernews.com