CVE-2025-21816
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: hrtimers: CPUHP_AP_HRTIMERS_DYING aşamasından sonra kuyruğa alınan hrtimers'ların zorunlu olarak taşınması CPU hotplug ilerlemesinde yer alan bant genişliği zamanlayıcı işleme görevlerini geciktirmemek için, hrtimers'lar CPUHP_AP_HRTIMERS_DYING aşamasında ölen CPU'dan herhangi bir çevrimiçi hedefe taşınır. Ancak, CPUHP_AP_HRTIMERS_DYING işleminden sonra ayrılan CPU tarafından hala uyandırmalar gerçekleştirilebilir. Bunlar, bant genişliği zamanlayıcılarının yeniden kurulmasına neden olabilir. Çeşitli değerlendirmelere bağlı olarak (kristal küre güç yönetimi tabanlı seçim, halihazırda kuyruğa alınmış olan en erken zamanlayıcı, zamanlayıcı taşımanın etkin olup olmaması), hedef nihayetinde çevrimdışı olsa bile mevcut CPU olabilir. Bu gerçekleştiğinde, zamanlayıcı sonuç olarak görmezden gelinir. Bunun en belirgin örneği, ilgili geçici çözümlerle birlikte bu uyandırmaların her biriyle onları çevrimiçi bir CPU'ya erteleyerek başa çıkmak zorunda kalan RCU'dur: _ e787644caf76 (rcu: CPU ölürken RCU kthreads uyandırmasını ertele) _ 9139f93209d1 (rcu/nocb: Çevrimdışı CPU'dan kurulan RT sınırlama hrtimer'ını düzelt) _ f7345ccc62a4 (rcu/nocb: Çevrimdışı softirq'dan gelen rcuog uyandırmasını düzelt) Sorun sadece RCU ile sınırlı değildir; çünkü (CPUHP_AP_HRTIMERS_DYING işlemini yürüten) stop machine kthread, çalışmasının sonunda cpu_stop_signal_done() aracılığıyla tamamlandığını bildirir ve nihayetinde deadline server zamanlayıcısını kuran bir uyandırma işlemi gerçekleştirir: WARNING: CPU: 94 PID: 588 at kernel/time/hrtimer.c:1086 hrtimer_start_range_ns+0x289/0x2d0 CPU: 94 UID: 0 PID: 588 Comm: migration/94 Not tainted Stopper: multi_cpu_stop+0x0/0x120 <- stop_machine_cpuslocked+0x66/0xc0 RIP: 0010:hrtimer_start_range_ns+0x289/0x2d0 Call Trace: <TASK> start_dl_timer enqueue_dl_entity dl_server_start enqueue_task_fair enqueue_task ttwu_do_activate try_to_wake_up complete cpu_stopper_thread Durumu geçiştirmek için yeni bir geçici çözüm sunmak yerine, sorun hrtimers altyapısında düzeltilmiştir: Bir zamanlayıcı çevrimdışı bir CPU'dan kuyruğa alındığında, her zaman çevrimiçi bir hedefe taşınacaktır. Bu durum aynı zamanda yukarıdaki tüm RCU yamalarının geri alınmasını sağlayacaktır.
Nasıl düzeltilir
- linux linux_kernel4.20, 5.5, 5.11, 5.16, 6.1.141, 6.6.93, 6.12.14, 6.13.3 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 | 4.19.302 ≤ v < 4.20, 5.4.264 ≤ v < 5.5, 5.10.204 ≤ v < 5.11, 5.15.143 ≤ v < 5.16, 6.1.68 ≤ v < 6.1.141, 6.6.7 ≤ v < 6.6.93, 6.7.1 ≤ v < 6.12.14, 6.13 ≤ v < 6.13.3, 6.7, 6.14 | 4.20, 5.5, 5.11, 5.16, 6.1.141, 6.6.93, 6.12.14, 6.13.3 |
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.