CVE-2026-64119
Təsvir
Linux kernelində aşağıdakı zəiflik aradan qaldırılıb: l2tp: l2tp_session_unhash funksiyasında list_del_rcu istifadə edin İmtiyazsız yerli istifadəçi eyni tunel üzərində L2TP_CMD_SESSION_CREATE və L2TP_CMD_SESSION_DELETE ilə eyni vaxtda L2TP_ATTR_IFNAME üzərində L2TP_CMD_SESSION_GET göndərməklə l2tp_session_get_by_ifname() funksiyasında host CPU-nu qeyri-müəyyən müddət məşğul saxlaya bilər. Hər üç əmr GENL_UNS_ADMIN_PERM tələb edir, buna görə netns istifadəçi ad məkanında CAP_NET_ADMIN kifayət edir; l2tp_core yüklənmiş istənilən hostda tetikleyici standart `unshare -Urn` sandboxundan əlçatandır. l2tp_session_unhash() sessiyanı tunnel->session_list-dən list_del_init() ilə silir, lakin bu siyahı l2tp_session_get_by_ifname() tərəfindən rcu_read_lock_bh() altında list_for_each_entry_rcu() ilə gəzilir. list_del_init() silinmiş elementin next/prev göstəricilərini özünə yönəldilmiş vəziyyətdə qoyur; elementi yükləmiş və sonra pos->list.next irəliləyən oxuyucu &session->list ünvanını oxuyur, container_of() ilə yenidən həmin sessiyaya qayıdır və list_for_each_entry_rcu() heç vaxt siyahı başlığına çatmır. CPU BH və preemption deaktiv edilmiş vəziyyətdə gəzici daxilində strcmp() funksiyasında qalır, buna görə hostda RCU grace period-ları onun arxasında dayanır və ilişib qalmış thread öldürülə bilmir (SIGKILL syscall qayıdışında çatdırılır). l2tp_session_register() funksiyasındakı mövcud list_add_rcu() ilə uyğunlaşmaq üçün list_del_rcu() istifadə edin; silinmiş sessiya l2tp_session_free() funksiyasındakı kfree_rcu() onu azad edənə qədər ardıcıl next/prev göstəriciləri ilə uçuşda olan gəzicilər üçün görünən qalır. tunnel->session_list-in dəqiq bir list_del_init() çağırış yeri var; l2tp_core.c:533 sətrindəki list_del_init(&session->clist) hər toqquşma üzrə siyahı üzərində işləyir və bu siyahı RCU altında gəzilmir. unhash nöqtəsindən sonra net/l2tp/ daxilində list_empty(&session->list) heç yerdə istifadə olunmur, buna görə silinmədən sonrakı özünə-inisializasiyanın çıxarılması təhlükəsizdir; düzəlişin istifadəçi məkanından görünən davranış dəyişikliyi yoxdur.
Necə düzəltmək olar
- linux linux_kernel6.12.92, 6.18.34, 7.0.11 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 6.11.3 ≤ v < 6.12.92, 6.13 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.1 | 6.12.92, 6.18.34, 7.0.11 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.