CVE-2024-40998

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ext4: __ext4_fill_super() fonksiyonundaki başlatılmamış ratelimit_state->lock erişimi düzeltildi Aşağıdaki eşzamanlılık durumunda başlatılmamış rs->lock yapısına erişilecektir: ext4_fill_super ext4_register_sysfs // sysfs üzerinden msg_ratelimit_interval_ms kaydedildi // Diğer süreçler msg_ratelimit_interval_ms aracılığıyla // rs->interval değerini sıfır olmayan bir değere değiştirir ext4_orphan_cleanup ext4_msg(sb, KERN_INFO, "Errors on filesystem, " __ext4_msg ___ratelimit(&(EXT4_SB(sb)->s_msg_ratelimit_state) if (!rs->interval) // aralık 0 ise hiçbir şey yapma return 1; raw_spin_trylock_irqsave(&rs->lock, flags) raw_spin_trylock(lock) _raw_spin_trylock __raw_spin_trylock spin_acquire(&lock->dep_map, 0, 1, _RET_IP_) lock_acquire __lock_acquire register_lock_class assign_lock_key dump_stack(); ratelimit_state_init(&sbi->s_msg_ratelimit_state, 5 * HZ, 10); raw_spin_lock_init(&rs->lock); // rs->lock burada başlatılır ve şu dump_stack çıktısı alınır: ========================================================= INFO: trying to register non-static key. The code is fine but needs lockdep annotation, or maybe you didn't initialize this object before use? turning off the locking correctness validator. CPU: 12 PID: 753 Comm: mount Tainted: G E 6.7.0-rc6-next-2023122 #504 [...] Call Trace: dump_stack_lvl+0xc5/0x170 dump_stack+0x18/0x30 register_lock_class+0x740/0x7c0 __lock_acquire+0x69/0x13a0 lock_acquire+0x120/0x450 _raw_spin_trylock+0x98/0xd0 ___ratelimit+0xf6/0x220 __ext4_msg+0x7f/0x160 [ext4] ext4_orphan_cleanup+0x665/0x740 [ext4] __ext4_fill_super+0x21ea/0x2b10 [ext4] ext4_fill_super+0x14d/0x360 [ext4] [...] ========================================================= Normalde s_msg_ratelimit_state başlatılana kadar interval değeri 0'dır, bu nedenle ___ratelimit() hiçbir işlem yapmaz. Ancak sysfs kaydı rs->lock başlatılmasından önce gerçekleştiğinden, rs->lock henüz başlatılmamışken sysfs'in msg_ratelimit_interval_ms arayüzü üzerinden rs->interval değerinin sıfır olmayan bir değere dönüştürülmesi mümkündür ve ardından yapılacak bir ext4_msg çağrısı, başlatılmamış bir rs->lock yapısına erişerek sorunu tetikler. Bu nedenle, söz konusu sorunların önüne geçmek için sysfs kaydı tüm başlatma işlemleri tamamlandıktan sonra gerçekleştirilmelidir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın12 Tem 2024
İlk görülme12 Tem 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.6.36, 6.9.7 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernelv < 6.6.36, 6.7 ≤ v < 6.9.76.6.36, 6.9.7

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-40998 · Linux Kernel · Dark Radar