CVE-2026-80660
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: hwmon: (occ) sysfs cihazlarının occ kilidi xaricində qeydiyyatdan çıxarılması occ_active(false) və occ_shutdown() funksiyaları occ->lock tutulmuş halda sysfs əsaslı cihazları qeydiyyatdan çıxarır. hwmon_device_unregister() və sysfs_remove_group() aktiv sysfs geri çağırışlarının (callbacks) boşalmasını gözləyə bilər və həmin geri çağırışlar OCC yeniləmə yoluna daxil olub yenidən occ->lock kilidini götürməyə çalışa bilər. Bu, qeydiyyatdan çıxarma yolları üçün occ->lock -> sysfs callback drain kilid ardıcıllığını yaradır, halbuki geri çağırış əks istiqamətli sysfs callback -> occ->lock kənarını saxlayır. Bu problem statik analiz alətimiz tərəfindən aşkar edilmiş və daha sonra mövcud ağaca qarşı əllə nəzərdən keçirilmişdir. Əsaslandırılmış PoC real qeydiyyatdan çıxarma və geri çağırış daşıyıcısını saxlamışdır: occ_shutdown() hwmon_device_unregister() occ_show_temp_1() occ_update_response() Lockdep, occ_shutdown() artıq OCC mutex-ni tutduğu və hwmon_device_unregister() sysfs tərəfində gözlədiyi halda dairəvi asılılığı bildirmişdir: WARNING: possible circular locking dependency detected ... (sysfs_lock) ... at: hwmon_device_unregister+0x12/0x30 [vuln_msv] ... (&test_occ.lock) ... at: occ_shutdown.constprop.0+0xe/0x40 [vuln_msv] occ_update_response.isra.0+0xb/0x20 [vuln_msv] occ_show_temp_1.constprop.0.isra.0+0x23/0x40 [vuln_msv] *** DEADLOCK *** Hwmon qeydiyyatı və silinməsi ayrıca bir hwmon_lock ilə seriyalaşdırılır. Həmin kilidin altında, eyni vaxtda baş verən OCC vəziyyət dəyişikliklərinin hələ də sabit vəziyyəti görməsi üçün occ->lock tutulduqda occ->hwmon ayrılır və occ->active yenilənir, sonra hwmon_device_unregister() çağırılmadan əvvəl occ->lock buraxılır. occ_shutdown() funksiyasında occ->lock götürülməzdən əvvəl drayverin sysfs qrupu silinir, beləliklə drayver atributlarının boşalması OCC mutex-i tutulmuş halda gözləyə bilməz. Həmçinin, deaktivasiyadan sonra OCC yeniləmə geri çağırışlarının -ENODEV qaytarması təmin edilir, beləliklə sysfs aktiv mühafizəsindən artıq keçmiş geri çağırışlar sökülmə prosesi hwmon cihazını ayırdıqdan sonra aparat təchizatını sorğu etmir.
Necə düzəltmək olar
- Linux Linux2a4c80ff3571498ec6a916273304b6650026b1b0, e7fd81e9fb1fe476d2131fec66c1138457810ed4, 2092952f22a7da98e76e84139ae202b1fc7ba899, f0aad157576da199c146c1bb266442befa7912ca, 7ee43ec8e6774774abbe9dc3027225e01bc964a5, e31408734332b8cc611342cdaaab6ba492180156, 5.16 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < 2a4c80ff3571498ec6a916273304b6650026b1b0, 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < e7fd81e9fb1fe476d2131fec66c1138457810ed4, 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < 2092952f22a7da98e76e84139ae202b1fc7ba899, 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < f0aad157576da199c146c1bb266442befa7912ca, 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < 7ee43ec8e6774774abbe9dc3027225e01bc964a5, 849b0156d9960da628a06756bb920d9571c15e66 ≤ v < e31408734332b8cc611342cdaaab6ba492180156, bc8a32726774286325b0cb0daab55b682cafc1ef, 5.15.216 ≤ v < 5.16, 5.19 | 2a4c80ff3571498ec6a916273304b6650026b1b0, e7fd81e9fb1fe476d2131fec66c1138457810ed4, 2092952f22a7da98e76e84139ae202b1fc7ba899, f0aad157576da199c146c1bb266442befa7912ca, 7ee43ec8e6774774abbe9dc3027225e01bc964a5, e31408734332b8cc611342cdaaab6ba492180156, 5.16 |
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.