CVE-2026-64560: Linux Çekirdeğinde posix-cpu-timers UAF Açığı
Linux çekirdeğinde posix-cpu-timers alt sisteminde exec() yarış durumu kaynaklı UAF açığı CVE-2026-64560 detaylandırıldı ve çözümü açıklandı.
Linux çekirdeğinin posix-cpu-timers alt sisteminde, non-leader exec() sırasında oluşan bir yarış durumu (race condition) nedeniyle use-after-free (UAF) açığı tespit edildi. sys_timer_delete() bir zamanlayıcıyı silerken, aynı anda thread-group lideri olmayan bir görev exec() çağırıp lider değiştirdiğinde, eski liderin sighand yapısı serbest bırakılmış olsa bile zamanlayıcı nesnesine erişim devam edebiliyor. Bu durum, özellikle TGID hedefli ve kuyruğa alınmış zamanlayıcılarda run_posix_cpu_timers() gibi fonksiyonların serbest bırakılmış bellek bölgesine erişmesine yol açabiliyor.
Sorun ayrıca posix_cpu_timer_set() ve posix_cpu_timer_rearm() fonksiyonlarını da etkiliyor; ilki kullanıcı alanına geçici olarak -ESRCH döndürürken do_cpu_nanosleep() bağlamında yığın üzerinde ayrılmış nesnelerde aynı UAF riskini taşıyor, ikincisi ise zamanlayıcının yeniden kurulmasını engelleyip süresinin dolmasını durdurabiliyor. Zayıf sıralı mimarilerde bellek görünürlüğü sorunları nedeniyle yanlış pozitif WARN() uyarıları da oluşabiliyor.
Çözüm; __exit_signal() içindeki depolamanın smp_store_release() ile değiştirilmesi, lock_task_sighand()'a smp_acquire__after_ctrl_dep() eklenmesi ve görev arama ile sighand kilitleme işlemlerini güvenli şekilde tekrar deneyen yeni bir yardımcı fonksiyon oluşturulmasını içeriyor. Bu düzenlemeler, çekirdek geliştiricilerinin bellek sıralama garantilerine ve zamanlayıcı yaşam döngüsü yönetimine dikkat etmesi gereken kritik bir güvenlik düzeltmesi olarak öne çıkıyor.