CVE-2026-80784
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: mptcp: pm: sökülmə zamanı ayrılma yarışı nəticəsində yaranan yaddaş sızmasının düzəldilməsi mptcp_pm_destroy() funksiyası soketin sökülməsi zamanı msk->pm.lock kilidi altında msk->pm.anno_list və msk->pm.userspace_pm_local_addr_list siyahılarını boşaldır və bu iki proses arasında kilidi buraxır. Eyni msk üzərində baş verən paralel istifadəçi sahəsi PM genl ANNOUNCE əməliyyatı mptcp_token_get_sock() vasitəsilə sock istinadını saxlayır və mptcp_pm_nl_announce_doit() daxilində mptcp_userspace_pm_append_new_local_addr() və mptcp_pm_announced_alloc() funksiyalarını çağırır. Hər ikisi müvafiq siyahılara əlavə etmək üçün qısaca msk->pm.lock kilidini götürür. Genl idarəedicisi sock istinadını saxladığı üçün, idarəedici tamamlanmamışdan əvvəl mptcp_pm_destroy() funksiyası mptcp_disconnect() vasitəsilə eyni msk üzərində işləyə bilər ki, bu da sock refcount-u azaltmadan mptcp_destroy_common() funksiyasını çağırır. Əgər kilidlərin alınması elə ardıcıllıqla baş verirsə ki, mptcp_pm_destroy() əvvəlcə siyahını boşaldırsa, sonrakı ayırma (alloc) əməliyyatı öz elementini həmin msk üçün artıq heç bir proses tərəfindən dövr edilməyən siyahının başına əlavə edir və beləliklə, element sızır. İstifadəçi sahəsi PM-ə qarşı davamlı paralel ANNOUNCE + close yükləməsi zamanı kmemleak həm mptcp_pm_add_addr obyektlərini (mptcp_pm_announced_alloc()-dan), həm də mptcp_pm_addr_entry obyektlərini (mptcp_userspace_pm_append_new_local_addr()-dan) hesabat verir. Siyahılar boşaldılmazdan əvvəl mptcp_pm_destroy() tərəfindən pm.lock altında təyin edilən və ayırma yolları tərəfindən pm.lock altında yoxlanılan msk->pm.status daxilinə MPTCP_PM_DESTROYING biti əlavə edildi. Ya ayırma prosesi əvvəlcə pm.lock kilidini götürür və bu halda mptcp_pm_destroy() onu azad edəndə onun elementi siyahıda olur; ya da mptcp_pm_destroy() əvvəlcə pm.lock kilidini götürür və bu halda sonrakı ayırma prosesi biti görür və imtina edir. BRF-ni genişləndirən MPTCP protokolu axın qurğusu (arXiv:2305.08782) tərəfindən aşkar edilmişdir.
Necə düzəltmək olar
- Linux Linuxf48341830e4202db3fe884b819b2db6740f0537d, bb32e9a6a9a9f99eeda16c4efe443400f3e43892, b2a0b55bf613bd3e81ed26a847b0f6b8e6b7f804, 9fe5eebb664ecdba88f3fde18062d94b1d1c465f, 6c290915a03fc8228b473641025cf762b256dbd2, efc33b5102ff859bacd390a5f30112d8e0c084c0 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < f48341830e4202db3fe884b819b2db6740f0537d, 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < bb32e9a6a9a9f99eeda16c4efe443400f3e43892, 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < b2a0b55bf613bd3e81ed26a847b0f6b8e6b7f804, 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < 9fe5eebb664ecdba88f3fde18062d94b1d1c465f, 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < 6c290915a03fc8228b473641025cf762b256dbd2, 9ab4807c84a4aacfc9b4f79cc81254035e0ec361 ≤ v < efc33b5102ff859bacd390a5f30112d8e0c084c0, 5.19 | f48341830e4202db3fe884b819b2db6740f0537d, bb32e9a6a9a9f99eeda16c4efe443400f3e43892, b2a0b55bf613bd3e81ed26a847b0f6b8e6b7f804, 9fe5eebb664ecdba88f3fde18062d94b1d1c465f, 6c290915a03fc8228b473641025cf762b256dbd2, efc33b5102ff859bacd390a5f30112d8e0c084c0 |
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.