CVE-2026-98103
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: igmp: struct ip_sf_list strukturunun RCU-ya çevrilməsi 23d2b94043ca nömrəli commit ("igmp: Add ip_mc_list lock in ip_check_mc_rcu"), eyni vaxtda silinmələr baş verdiyi zaman im->sources üzərində iterasiya edərkən "use-after-free" xətasının qarşısını almaq üçün ip_check_mc_rcu() funksiyasına spin_lock_bh(&im->lock) əlavə etmişdir. Lakin, ip_check_mc_rcu() funksiyası paketlərin qəbulu və marşrut axtarışının sürətli yollarındakı (məsələn, __mkroute_output(), ip_route_input_rcu() və __udp4_lib_rcv()) RCU oxuma tərəfli kritik bölmələrdən çağırılır. igmpv3_send_cr() və ya igmpv3_send_report() funksiyaları &pmc->lock kilidini saxlayarkən add_grec() -> igmpv3_newpack() -> ip_route_output_ports() funksiyalarını çağırdıqda, multikast təyinatına uyğun gələn bir XFRM siyasəti xfrm_tmpl_resolve_one() -> xfrm4_get_saddr() -> __mkroute_output() -> ip_check_mc_rcu() prosesini tetikləyir. Bu, eyni CPU-da artıq &pmc->lock tutulmuş halda &im->lock kilidini əldə etməyə cəhd edir ki, bu da lockdep rekursiv kilidləmə xəbərdarlığına / deadlock-a səbəb olur. Bu problem, net/ipv6/mcast.c faylındakı IPv6 implementasiyasını nümunə götürərək, IPv4 struct ip_sf_list strukturunu RCU-ya çevirməklə həll edilir: 1. struct ip_sf_list strukturuna struct rcu_head əlavə edilir və sf_next, sources və tomb sahələri __rcu göstəriciləri kimi qeyd olunur. 2. Siyahının yenilənməsi və elementlərin silinməsi üçün rcu_assign_pointer() və kfree_rcu() istifadə olunur. 3. ip_check_mc_rcu() funksiyasından spin_lock_bh(&im->lock) çıxarılır və im->sources siyahısı for_each_psf_rcu() vasitəsilə kilidsiz şəkildə keçilir, sayğac sahələri isə READ_ONCE() və WRITE_ONCE() ilə oxunub yazılır. Qeyd: /proc/net/mcfilter faylının RCU-ya çevrilməsi ayrıca patch ilə həyata keçiriləcək.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| microsoft azl3_kernel_6.6.157.1-1 | Aralıq göstərilməyib | — |
| microsoft azl3_kernel_6.6.159.1-1 | Aralıq göstərilməyib | — |
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.