Araştırmacılar, Linux çekirdeğinin dmam_free_coherent() fonksiyonunda kritik bir güvenlik açığı keşfettiler.
CVE-2024-43856 olarak tanımlanan bu kusur, Doğrudan Bellek Erişimi (DMA) tahsislerini serbest bırakırken ve ilişkili kaynakları yönetirken işlemlerin yanlış sırasının neden olduğu bir yarış durumundan kaynaklanmaktadır.
Bu güvenlik açığı, saldırganların CPU korumalarını aşmalarına ve sistem belleğine yetkisiz okuma/yazma erişimi elde etmelerine olanak tanıyabileceği için önemli bir risk oluşturuyor.
Güvenlik Açığını Anlamak
DMA, donanım aygıtlarının CPU müdahalesi olmadan doğrudan sistem belleğine veri aktarmasına ve sistem belleğinden veri almasına olanak tanıyan ve performansı artıran önemli bir mekanizmadır.
Free Webinar on Detecting & Blocking Supply Chain Attack -> Book your Spot
dmam_free_coherent() işlevi bir DMA tahsisini serbest bırakır ve onu izlemek için kullanılan ilişkili veri yapısını kaldırır. Ancak, bu süreçteki bir kusur sistem kararsızlıklarına, veri bozulmasına, beklenmeyen davranışlara veya hatta çökmelere yol açabilir.
Güvenlik açığı, eş zamanlı bir görevin aynı sanal adrese sahip belleği tahsis edip orijinal girişi kaldırmadan önce izleme listesine ekleyebileceği bir yarış koşulundan kaynaklanmaktadır.
Bu durum istismar edilirse, devres_destroy fonksiyonunun yanlış girdiyi serbest bırakmasına ve dmam_match fonksiyonunda WARN_ON iddiasının tetiklenmesine neden olabilir.
Bu senaryo, saldırganların bellek tahsislerini manipüle etmesine ve ciddi güvenlik ihlallerine yol açmasına olanak tanıyabilir.
Yama – CVE-2024-43856
Bu güvenlik açığına yanıt olarak Greg Kroah-Hartman tarafından Linux çekirdeğine yeni bir yama eklendi.
Google’dan Lance Richardson, DMA tahsis yönetimindeki bir hatayı gidermek için dmam_free_coherent() fonksiyonunu değiştiren yamayı yazdı.
Çözüm, DMA tahsisi dma_free_coherent ile serbest bırakılmadan önce devres_destroy kullanılarak izleme veri yapısının yok edilmesini sağlamak için fonksiyon çağrılarının sırasının değiştirilmesini içerir.
Bu değişiklik, eş zamanlı bir görevin temizleme sürecine müdahale etme olasılığını ortadan kaldırır.
Yama, Google’ın dahili “kokonut” ağ şifreleme projesinde test edildi. Christoph Hellwig ve Sasha Levin tarafından onaylandı ve bu, ana hat Linux çekirdeğine dahil edilmeye hazır olduğunu gösteriyor.
Bu proaktif önlem, geliştirici topluluğunun potansiyel hataları belirleme ve düzeltme konusundaki devam eden çabalarını vurgulayarak, dünya çapındaki kullanıcılar için daha istikrarlı ve güvenilir bir işletim sistemi sağlamayı amaçlıyor.
dmam_free_coherent() güvenlik açığını kullanarak CPU belleğine keyfi veriler yazmak karmaşık ve belirli sistem yapılandırmalarına oldukça bağımlı bir işlem olsa da, yama olası saldırılara karşı önemli bir koruma sağlıyor.
Linux çekirdeği gelişmeye ve çok çeşitli cihazlara güç vermeye devam ettikçe, CVE-2024-43856 gibi güvenlik açıklarını gidermek, dünya genelinde sistemlerin güvenliğini ve bütünlüğünü korumak için olmazsa olmazdır.
Bu vaka, ortaya çıkan tehditlere karşı korunmak için açık kaynak topluluğu içerisinde dikkatli olmanın ve iş birliğinin önemini vurguluyor.
Are you from SOC and DFIR Teams? Analyse Malware Incidents & get live Access with ANY.RUN -> Get 14 Days Free Access