CVE-2026-23159
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: perf: sched: yeni is_user_task() yardımcı fonksiyonu ile perf çökmesi düzeltildi Bir kullanıcı alanı yığın izlemesi (stacktrace) yapabilmek için mevcut görevin, kullanıcı alanında yürütülmüş bir kullanıcı görevi olması gerekir. Eskiden bir görevin kullanıcı görevi olup olmadığını sadece task_struct mm alanı kontrol edilerek test etmek mümkündü. Eğer bu alan NULL değilse kullanıcı görevi, NULL ise çekirdek görevi olarak kabul ediliyordu. Ancak zamanla durum değişti ve bazı çekirdek görevleri artık kendi mm alanlarına sahip oldu. Bunun yerine PF_KTHREAD'in test edilmesi fikri ortaya atılmıştı ve bir görevin kullanıcı görevi olup olmadığının test edilmesi daha karmaşık hale gelirse diye bu kontrolü sarmalamak için iki fonksiyon kullanılmıştı [1]. Fakat bu yöntem reddedildi ve C kodu doğrudan PF_KTHREAD'i kontrol etti. Daha sonra tüm çekirdek iş parçacıklarının PF_KTHREAD'i ayarlamadığı anlaşıldı. Bunun yerine io-uring yardımcıları PF_USER_WORKER'ı ayarlıyordu ve bunun da eklenmesi gerektiği görüldü. Fakat bayrakların kontrol edilmesi hala yeterli değildir. Bir görev sonlandığında, mm alanını serbest bıraktığı ve tekrar NULL olarak ayarlandığı çok küçük bir pencere vardır. Eğer perf tam bu anda tetiklenirse, bayrak testi bunun bir kullanıcı alanı görevi olduğunu söyleyecek ancak perf mm alanını okumaya çalıştığında bir NULL pointer dereference nedeniyle çökecektir. Şu an bir görevin çıkış yapıp yapmadığını test etmek için kullanılabilecek bayraklar mevcuttur, ancak bunlar perf'ün hala kullanıcı alanı görevini profillemek isteyebileceği (nerede çıkış yaptığını görmek için) alanlarda ayarlanmaktadır. Tek gerçek test, hem bayrakların hem de mm alanının kontrol edilmesidir. Bu değişikliği her konumda yapmak yerine, kullanıcı alanı belleğini okumanın güvenli olup olmadığını anlamak için gerekli tüm testleri gerçekleştiren yeni bir is_user_task() yardımcı fonksiyonu oluşturuldu. [1] https://lore.kernel.org/all/[email protected]/
Nasıl düzeltilir
- linux linux_kernel6.6.123, 6.12.69, 6.18.9 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.6.116 ≤ v < 6.6.123, 6.12.57 ≤ v < 6.12.69, 6.17.7 ≤ v < 6.18.9, 6.19 | 6.6.123, 6.12.69, 6.18.9 |
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.