CVE-2026-53085
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: bpf: açık kodlu task_vma yineleyicisindeki mm yaşam döngüsü düzeltildi Açık kodlu task_vma yineleyicisi task->mm değerini kilit kullanmadan okur ve mmap_read_trylock() işlemini gerçekleştirir ancak hiçbir zaman mmget() fonksiyonunu çağırmaz. Görev eşzamanlı olarak sonlanırsa, SLAB_TYPESAFE_BY_RCU olmadığı için mm_struct serbest bırakılabilir ve bu durum bir serbest bırakıldıktan sonra kullanım (use-after-free) hatasına yol açar. alloc_lock üzerinde bir trylock ile task->mm güvenli bir şekilde okunur ve bir mm referansı alınır. Referans, _destroy() ve hata yollarında bpf_iter_mmput_async() aracılığıyla bırakılır. bpf_iter_mmput_async(), !CONFIG_MMU durumunda mmput()'a geri dönüş yapan, mmput_async() üzerine kurulmuş yerel bir sarmalayıcıdır. IRQ'ların devre dışı olduğu bağlamlar (NMI dahil) önceden reddedilir. _next() ve _destroy() tarafından kullanılan işlemler (mmap_read_unlock, bpf_iter_mmput_async), IRQ'lar devre dışıyken spinlock'lar (pool->lock, pi_lock) alır. NMI üzerinden veya bu kilitler tutulurken tetiklenen bir izleme noktasından (tracepoint) çalışmak ölü kilitlemeye (deadlock) neden olabilir. Bir softirq BPF programı, aynı CPU üzerinde zaten alloc_lock kilidini tutan bir görevi yinelediğinde ölü kilitlemeyi önlemek için engelleyici task_lock() (get_task_mm) yerine alloc_lock üzerinde bir trylock kullanılır.
Nasıl düzeltilir
- linux linux_kernel6.12.91, 6.18.33, 7.0.10 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.7 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.10 | 6.12.91, 6.18.33, 7.0.10 |
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.
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.