CVE-2026-72123
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: can: bcm: thrtimer UAF problemini həll etmək üçün rx_op yaddaşının boşaldılmasını iş növbəsinə (workqueue) təxirə salın f1b4e32aca08 ("can: bcm: bahalı synchronize_rcu() əvəzinə call_rcu()-dan istifadə edin") commit-i bcm_delete_rx_op() funksiyasındakı synchronize_rcu()-nu call_rcu() ilə əvəz etmiş və RX_NO_AUTOTIMER bayrağını tətbiq etmişdir. Lakin paket rx sürətli yolunda (fast-path) thrtimer üçün bu bayraq yoxlaması nəzərə alınmamışdır. BCM RX əməliyyatının ləğvi zamanı, call_rcu() planlaşdırıldıqdan sonra paralel bir RCU oxuyucusu (bcm_rx_handler), bcm_rx_update_and_send() vasitəsilə thrtimer-i yenidən aktivləşdirmək üçün yarış şəraitində (race condition) ola bilər. RCU lütf dövrü başa çatdıqda, bcm_op azad edilir. Daha sonra işə düşən thrtimer boşaldılmış op-a müraciət edir ki, bu da UAF-a səbəb olur. Sürətli yola (bcm_rx_update_and_send) bayraq yoxlamalarının əlavə edilməsi TOCTOU yarışını tamamilə aradan qaldırmır və hər bir CAN freymi üçün gecikməyə səbəb olur. Əksinə, hrtimer_cancel()-in birbaşa RCU geri çağırışı (softirq konteksti) daxilində çağırılması kritikdir, çünki hrtimer_cancel() yata bilər (sleep) və bu da "scheduling while atomic" panikasını tetikləyər. Bu problem taymerin ləğvinin və yaddaşın boşaldılmasının xüsusi bir bağlanmamış iş növbəsinə (bcm_wq) təxirə salınması ilə həll edilmişdir. Artıq RCU geri çağırışı bcm_wq-ya bir iş elementini növbəyə əlavə edir və bu element yata bilən proses kontekstində hər iki taymeri təhlükəsiz şəkildə ləğv edir və yaddaşı boşaldır. Sistem səviyyəsində WQ doymasının qarşısını almaq üçün xüsusi iş növbəsindən istifadə olunur və rmmod səhifə xətalarını (page faults) önləmək üçün modul yükləmədən çıxarıldıqda təmiz şəkildə sıçırlanır/məhv edilir. Təxirə salınmış iş artıq çağıran kontekstdən məhdudiyyətsiz müddətə daha çox yaşaya bildiyi üçün, op->sk təyin edildikdə ona istinad götürülür və yalnız təxirə salınmış iş hər iki taymeri ləğv etdikdən sonra bu istinad buraxılır. Beləliklə, geri çağırışı (bcm_send_to_user()) op->sk-ya müraciət edən hələ də aktiv olan taymerin altından socket-in azad edilməsinin qarşısı alınır.
Necə düzəltmək olar
- Linux Linuxde5fce46637de05bef56ec08528127676eb6fc9b, 036a8c320ca11bc912e8027adcfad14b326f067e, 3cf4fd5316f449811d8baf1bc6978ef5a7b743a9, 4177762f70646ac48a2af382e45a795cbd295198, 6fd08e8d826c3aa4cc7021f5f9cdbb7fa7441d3f, cd830e0bc25ee2d38cbfbdbb3cd77c5f53b2b6d5, ce2d4b121fb7545e1ed588e860c8e5fd5ad45224, 68973f9db76144825e4f35dfdc80fb8279eb2d57, 5.10.265, 5.15.216, 4.20, 5.5, 5.19 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 85cd41070df992d3c0dfd828866fdd243d3b774a ≤ v < de5fce46637de05bef56ec08528127676eb6fc9b, f34f2a18e47b73e48f90a757e1f4aaa8c7d665a1 ≤ v < 036a8c320ca11bc912e8027adcfad14b326f067e, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < 3cf4fd5316f449811d8baf1bc6978ef5a7b743a9, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < 4177762f70646ac48a2af382e45a795cbd295198, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < 6fd08e8d826c3aa4cc7021f5f9cdbb7fa7441d3f, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < cd830e0bc25ee2d38cbfbdbb3cd77c5f53b2b6d5, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < ce2d4b121fb7545e1ed588e860c8e5fd5ad45224, f1b4e32aca0811aa011c76e5d6cf2fa19224b386 ≤ v < 68973f9db76144825e4f35dfdc80fb8279eb2d57, fbac09a3b8890003c0c55294c00709f3ae5501bb, 5b48f5711f1c630841ab78dcc061de902f0e37bf, edb4baffb9483141a50fb7f7146cfe4a4c0c2db8, 5.10.130 ≤ v < 5.10.265, 5.15.54 ≤ v < 5.15.216, 4.19.252 ≤ v < 4.20, 5.4.205 ≤ v < 5.5, 5.18.11 ≤ v < 5.19, 5.19 | de5fce46637de05bef56ec08528127676eb6fc9b, 036a8c320ca11bc912e8027adcfad14b326f067e, 3cf4fd5316f449811d8baf1bc6978ef5a7b743a9, 4177762f70646ac48a2af382e45a795cbd295198, 6fd08e8d826c3aa4cc7021f5f9cdbb7fa7441d3f, cd830e0bc25ee2d38cbfbdbb3cd77c5f53b2b6d5, ce2d4b121fb7545e1ed588e860c8e5fd5ad45224, 68973f9db76144825e4f35dfdc80fb8279eb2d57, 5.10.265, 5.15.216, 4.20, 5.5, 5.19 |
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.