CVE-2024-50182

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: secretmem: arch doğrudan eşleme (direct map) ayarlayamıyorsa memfd_secret() devre dışı bırakılır !can_set_direct_map() durumunda memfd_secret() sistem çağrısından -ENOSYS döndürülür. Bu durum örneğin bazı arm64 konfigürasyonlarında geçerlidir; burada doğrudan eşlemedeki 4k PTE'lerin mevcut olmadığı şeklinde işaretlenmesi, ancak doğrudan eşlemenin başlangıçta 4k granülaritesinde kurulmuş olması durumunda mümkündür (çünkü ARM'ın break-before-make semantiği büyük/devasa sayfaların kolayca bölünmesine izin vermez). Daha kesin olarak, !can_set_direct_map() olan arm64 sistemlerde set_direct_map_invalid_noflush() bir no-op işlemidir, ancak hata yerine başarı (0) döndürür. Bu, memfd_secret fonksiyonunun görünüşte "çalışacağı" (örneğin sistem çağrısı başarılı olur, fd'yi mmap yapabilir ve sayfalarda hata oluşmasını sağlayabilirsiniz) ancak belleğini doğrudan eşlemeden kaldırma amacına gerçekte ulaşamadığı anlamına gelir. Bu yama ile birlikte, can_set_direct_map() fonksiyonunun false döndürdüğü sistemlerde (CONFIG_RODATA_FULL_DEFAULT_ENABLED=n, CONFIG_DEBUG_PAGEALLOC=n ve CONFIG_KFENCE=n olan arm64 sistemler) memfd_secret() hata vermeye başlayacaktır, fakat bu durum mevcut sessiz başarısızlıktan daha iyi görünmektedir. CONFIG_RODATA_FULL_DEFAULT_ENABLED varsayılan olarak 'y' olduğu için çoğu arm64 sistemi aslında çalışan bir memfd_secret() özelliğine sahiptir ve etkilenmeyecektir. Orijinal memfd_secret yama serisinin iterasyonları incelendiğinde, bu senaryolarda sistem çağrısının devre dışı bırakılmasının amaçlanan davranış olduğu görülmektedir [1] (set_direct_map_invalid_noflush fonksiyonunun hata döndürmesi tercih edilmemiştir çünkü bu durum sayfa hatası sırasında SIGBUS hatalarına yol açardı); ancak bu kontrol, secretmem CMA tahsisatlarından uzaklaştığında v16 [2] ve v17 [3] arasında kaldırılmıştır. [1]: https://lore.kernel.org/lkml/[email protected]/ [2]: https://lore.kernel.org/lkml/[email protected]/#t [3]: https://lore.kernel.org/lkml/[email protected]/

ÖnemYüksek
CVSS7.1
İstismar olasılığı—
ÜrünLinux Kernel
Yayın8 Kas 2024
İlk görülme8 Kas 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.169, 6.1.113, 6.6.57, 6.11.4 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.14 ≤ v < 5.15.169, 5.16 ≤ v < 6.1.113, 6.2 ≤ v < 6.6.57, 6.7 ≤ v < 6.11.4, 6.125.15.169, 6.1.113, 6.6.57, 6.11.4

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2024-50182 · Linux Kernel · Dark Radar