CVE-2026-68398
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: ppp: pppol2tp RX UAF problemini həll etmək üçün kanalın azad edilməsini RCU grace dövrünə təxirə salmaq pppol2tp_recv() funksiyası L2TP UDP-encap softirq RX yolunda işləyir: l2tp_udp_encap_recv() -> l2tp_recv_common() -> pppol2tp_recv() -> ppp_input(&po->chan) Bu proses yalnız l2tp_session istinadını saxlayaraq rcu_read_lock() altında işləyir və ppp_input() tərəfindən istifadə olunan daxili PPP kanalına (struct channel, chan->ppp) heç bir istinad götürmür. pppox soketi SOCK_RCU_FREE olduğu üçün 'po' və daxil edilmiş ppp_channel RCU-təhlükəsizdir. Lakin daxili struct channel ayrıca ayrılmış yaddaş sahəsidir və ppp_release_channel() tərəfindən adi kfree() ilə azad edilir: close(data socket) -> pppol2tp_release() -> pppox_unbind_sock() -> ppp_unregister_channel() -> ppp_release_channel() -> kfree(pch) Bağlı olan (PPPIOCGCHAN), lakin ppp vahidinə qoşulmamış (PPPIOCCONNECT yoxdur, pch->ppp == NULL) və körpüləməmiş (bridged) kanal üçün sökülmə prosesi həm ppp_disconnect_channel()'ın synchronize_net(), həm də ppp_unbridge_channels()'ın synchronize_rcu() funksiyalarını ötür, buna görə də kfree() üçün heç bir grace dövrü mövcud olmur. pppol2tp_recv() funksiyasındakı rcu_read_lock() adi kfree()-dən qorumur, beləliklə, bir CPU-da icra olunan ppp_input() digər CPU-da close() vasitəsilə azad edilmiş kanala müraciət edə bilər. Həmin xətaya imtiyazsız istifadəçi tərəfindən çatmaq mümkündür. Kanalın azad edilməsini call_rcu() vasitəsilə RCU geri çağırışına (callback) təxirə salın ki, grace dövrü icradakı bütün ppp_input() əməliyyatlarını məhdudlaşdırsın. Bağlantının kəsilməsi və körpüləmədən çıxarma sökülmə yolları artıq synchronize_net()/synchronize_rcu() ilə məhdudlaşdırma aparır; call_rcu() burada close() yolunu ləngitmədən eyni funksiyanı yerinə yetirir.
Necə düzəltmək olar
- Linux Linux4e47f1ac188ece11d6fdabe44166a2776cc5bd4e, 110b765744b147c63882f5e9cb12931c5dc8d85f, 4bb84e964ff0fe0a171c965362de72f9820dbce9, 3ab32218d7182705dae5c86f13925f458072da2c, c9574b8a8edeb4edd3ac6472c27ef7184bdb2baa, 06213c85d8c0994f786c093b8b2a517987943ca6, ec4215683e47424c9c4762fd3c60f552a3119142, 3.3, 3.17, 4.5, 4.10, 4.15 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < 4e47f1ac188ece11d6fdabe44166a2776cc5bd4e, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < 110b765744b147c63882f5e9cb12931c5dc8d85f, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < 4bb84e964ff0fe0a171c965362de72f9820dbce9, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < 3ab32218d7182705dae5c86f13925f458072da2c, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < c9574b8a8edeb4edd3ac6472c27ef7184bdb2baa, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < 06213c85d8c0994f786c093b8b2a517987943ca6, ee40fb2e1eb5bc0ddd3f2f83c6e39a454ef5a741 ≤ v < ec4215683e47424c9c4762fd3c60f552a3119142, d36e5ba7bbed5d7bd26e8609ffed503c2def401b, 9bcc0508576b2d50efd958f2ea1c5906749c2c89, c2984681fe15cfb803a9132aaaf1140ab20a72c1, 5803ecd7f6ac6f747582e775caa62ac9d0489261, 26f8819ddd10141ebe7bbce700fbab36bfa5f478, 3.2.99 ≤ v < 3.3, 3.16.54 ≤ v < 3.17, 4.4.225 ≤ v < 4.5, 4.9.225 ≤ v < 4.10, 4.14.182 ≤ v < 4.15, 4.15 | 4e47f1ac188ece11d6fdabe44166a2776cc5bd4e, 110b765744b147c63882f5e9cb12931c5dc8d85f, 4bb84e964ff0fe0a171c965362de72f9820dbce9, 3ab32218d7182705dae5c86f13925f458072da2c, c9574b8a8edeb4edd3ac6472c27ef7184bdb2baa, 06213c85d8c0994f786c093b8b2a517987943ca6, ec4215683e47424c9c4762fd3c60f552a3119142, 3.3, 3.17, 4.5, 4.10, 4.15 |
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.