Sunucular İçin OpenBMC’lerde Kritik Güvenlik Açığı, Tam Bir Tehlikeye Yol Açıyor


Sunucular İçin OpenBMC'lerde Kritik Güvenlik Açığı, Tam Tehlikeye Yol Açıyor

BMC’ler, sunuculara ve diğer cihazlara yerleştirilen, sıcaklık, voltaj ve sistem günlükleri de dahil olmak üzere donanım sağlığını izlemek ve yönetmekten sorumlu özel mikrodenetleyicilerdir.

Tetrel Sec’teki siber güvenlik araştırmacıları, sunucu standardında Ana Kart Yönetim Denetleyicileri (BMC’ler) geliştirmeye yönelik topluluk odaklı bir girişim olan OpenBMC Projesi’nin slpd-lite alt bileşeninde kritik bir güvenlik açığı keşfetti.

DÖRT

Bu açığın CVSSv3.1’de 9.8 gibi üstün bir puan aldığı ve sunucu güvenliği için önemli bir risk teşkil eden “CVE-2024-41660” olarak izlendiği belirtildi.

Bu güvenlik açığı yalnızca slpd-lite servisinin kurulu ve etkinleştirilmiş olduğu varsayılan OpenBMC sürümlerini etkiliyor.

Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot

Sunucular İçin OpenBMC’ler

BMC’ler sunucu donanımlarını yönettiğinden, bu cihazlarda meydana gelen bir ihlal uzaktan yönetim risklerine yol açabilir ve sunucu genelinde birden fazla güvenlik katmanını açığa çıkarabilir.

Hizmeti açıkça devre dışı bırakmayan tüm sürümlerde, güvenlik açığı bulunduğundan kullanıcıların acilen düzeltilmiş sürüme geçmeleri gerekiyor.

OpenBMC’de slpd-lite’ın uygulanmasına yönelik en son taahhütte iki önemli güvenlik açığı vardı.

parseHeader() fonksiyonunda oluşan ilk güvenlik açığı, dil etiketi uzunluğunun yetersiz doğrulanmasından kaynaklanan sınır dışı (OOB) yığın okumasıdır.

Bir bilgisayar korsanı langtagLen alanını manipüle ederek potansiyel olarak herhangi bir keyfi yığın verisini okuyabilir.

İkincisi, prepareHeader() içinde gerçekleştirilen ve req.header.langtag.length()’in yanlış işlenmesi nedeniyle uint8_t uzunluk değişkeninin sıfırın altına düşebileceği işaretsiz bir tamsayı sarma işlemini kapsar.

Sonuç olarak, veriler küçük boyutlu bir tampon belleğe kopyalanırken OOB yığınının yazmasını sağlar.

Her iki güvenlik açığı da saldırganların, root olarak çalışan ve 427 numaralı portu (svrloc) dinleyen UDP tabanlı slpd servisindeki girdileri yanlış yönetmesinden kaynaklanıyor.

Bellek sırları veya kod adresleri ifşa edilebilir ve bu, bu güvenlik açıklarını son derece ciddi hale getirir. Ayrıca, keyfi bir kodun çalıştırılmasına izin verebilecek yığın bozulmasına da eğilimlidirler.

Bu, etkilenen kod yollarıyla ilgili olarak ağa bakan hizmetlere ilişkin aşağıdaki işlevler için kapsamlı giriş doğrulaması ve dikkatli bellek yönetimi yapılması gerektiği anlamına gelir:

  • “udpsocket::Kanal::oku()”
  • “slp::parser::parseBuffer()”
  • “slp::handler::processRequest()”

Tetrel, Ubuntu 22.04.04 LTS’deki slpd-lite’taki yığın bozulma güvenlik açıklarını sistematik bir süreçle doğruladı.

Bu, build-essential ve diğer bağımlılıkların yüklenmesini, slpd-lite deposunun klonlanmasını (55aac8e1 işlemesi), dinleme portunun 4427 olarak değiştirilmesini ve Clang-15 ve Meson kullanılarak Adres Temizleyici (ASAN) ile derlemeyi içeriyordu.

Söz konusu güvenlik açıklarından faydalanmak için bir Python kavram kanıtı betiği geliştirildi ve SLP başlık alanları, özellikle Dil Etiketi Uzunluğu manipüle edildi.

ASAN raporu, 0x63000000fe0e adresinde, 65535 boyutunda bir READ ile bir yığın arabellek taşması olduğunu ortaya koydu; bu durum parseHeader ve parseBuffer gibi fonksiyonları etkiliyor.

Her ikisi de dağıtıma bağlı olarak ağ sakinleri veya uzak saldırganlar tarafından tam BMC tehlikeye atılmasına olanak tanıyan iki ayrı güvenlik açığı belirlendi. Ciddiyet, BMC ağ hizmetlerinin internete yaygın olarak maruz kalmasıyla daha da artıyor.

Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access



Source link