CVE-2026-98530

Belirsiz

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: kprobes: kprobe optimize edicisi temizlenirken meydana gelen kalıcı donma düzeltildi Bir kprobe jump-optimized durumundayken /proc/sys/debug/kprobes-optimization dosyasına 0 yazılması hiçbir zaman geri dönmez. Yazan işlem, kprobe_sysctl_mutex tutulurken sonsuza kadar D durumunda uyur; bu nedenle söz konusu sysctl değerine yapılan sonraki tüm okuma veya yazma işlemleri de donar. Örneğin, bu derlemede vfs_read+9 optimize edilebilir bir adres olduğunda: # cd /sys/kernel/tracing # echo 'p:myprobe vfs_read+9' >> kprobe_events # echo 1 > events/kprobes/myprobe/enable # # /sys/kernel/debug/kprobes/list dosyasında [OPTIMIZED] görünene kadar bekleyin # echo 0 > /proc/sys/debug/kprobes-optimization INFO: task sh:246 blocked for more than 10 seconds. Call Trace: <TASK> __schedule+0x1176/0x4f70 schedule+0xdc/0x2c0 schedule_timeout+0x17b/0x260 wait_for_completion+0x173/0x3c0 wait_for_kprobe_optimizer_locked+0xbc/0x130 proc_kprobes_optimization_handler+0x156/0x1b0 proc_sys_call_handler+0x324/0x490 vfs_write+0x52d/0xfe0 ksys_write+0xff/0x200 do_syscall_64+0x106/0x630 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> ... INFO: task cat:265 is blocked on a mutex likely owned by task sh:246. wait_for_kprobe_optimizer_locked() fonksiyonu optimizer_completion nesnesini yeniden başlatır, optimize edici iş parçacığından temizleme yapmasını ister ve wait_for_completion() ile uykuya geçer. İş parçacığı (un)optimizing listelerini boşaltır ancak complete() fonksiyonunu yalnızca completion_done() doğruysa, yani tamamlama işlemi zaten bitmişse çağırır; oysa biri beklerken bu durum asla gerçekleşmez. disarm_all_kprobes() ve kprobe_trace_self_tests_init() fonksiyonları da aynı şekilde beklemektedir. complete() fonksiyonunun koşulsuz olarak çağrılması yeterli olmayacaktır: Bekleyen taraf uyurken kprobe_mutex kilidini bırakır ve sysctl yöneticisini debugfs "enabled" dosyasına karşı serileştiren başka bir mekanizma yoktur. Listelerin hala boş olmadığını tespit eden ikinci bir temizleyici (örneğin devre dışı bırakılmış bir probun optimizasyon kaldırma için kuyruğa alınmış olması nedeniyle), birinci kişinin altında tamamlamayı yeniden başlatır: sysctl write debugfs "enabled" write unoptimize_all_kprobes() wait_for_kprobe_optimizer_locked() init_completion(c) mutex_unlock(&kprobe_mutex) wait_for_completion(c) disarm_all_kprobes() wait_for_kprobe_optimizer_locked() init_completion(c) // c->wait sıfırlanır, ilk // bekleyen kuyruktan çıkar mutex_unlock(&kprobe_mutex) wait_for_completion(c) kprobe_optimizer() complete(c) // Yalnızca debugfs yazıcısını uyandırır Burada c, &optimizer_completion ifadesidir. Bir optimize edici geçişi sırasında iki yazma işleminin hizalanması, sysctl yazıcısının bu şekilde kaybolmasına neden olur. Tamamlama işlemi, her geçişin sonunda artırılan ve her ikisi de kprobe_mutex altında olan, optimize edici geçişlerinin sayacıyla ve wake_up_var_locked() ile sinyallenerek değiştirilmiştir. Bir temizleyici sayacı örnekler ve yalnızca uyurken kprobe_mutex kilidini bırakan wait_var_event_mutex() ile bekler; böylece yeni bir sayaç değeri, bu süre zarfında tam bir geçişin gerçekleştiği anlamına gelir. Hiçbir şey yeniden başlatılmadığı için birden fazla temizleyici aynı anda bekleme durumunda uyuyabilir.

ÖnemBelirsiz
CVSS—
İstismar olasılığı—
ÜrünLinux
Yayın18 Eki 2026
İlk görülme18 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linuxf05a01fc7d4f731b4c100d2aef1e85ad77728862, 5bfa9f1a9dcb6ecb607adbc1c0226605c972935b ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux73c12f209462d1712c5f55f3021a1b65b2e084c3 ≤ v < f05a01fc7d4f731b4c100d2aef1e85ad77728862, 73c12f209462d1712c5f55f3021a1b65b2e084c3 ≤ v < 5bfa9f1a9dcb6ecb607adbc1c0226605c972935b, 7.0f05a01fc7d4f731b4c100d2aef1e85ad77728862, 5bfa9f1a9dcb6ecb607adbc1c0226605c972935b

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-2026-98530 · Linux · Dark Radar