CVE-2026-80660
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: hwmon: (occ) sysfs aygıtlarının occ kilidi dışında kaydının silinmesi occ_active(false) ve occ_shutdown(), occ->lock tutulurken sysfs tabanlı aygıtların kaydını silmektedir. hwmon_device_unregister() ve sysfs_remove_group(), aktif sysfs geri çağırmalarının boşalmasını bekleyebilir ve bu geri çağırmalar OCC güncelleme yoluna girerek tekrar occ->lock kilidini almaya çalışabilir. Bu durum, kayıt silme yollarına occ->lock -> sysfs callback drain kilit sıralamasını verirken, bir geri çağırma işleminin tam tersi olan sysfs callback -> occ->lock kenarına sahip olmasına neden olur. Bu sorun statik analiz aracımız tarafından bulunmuş ve ardından mevcut ağaç üzerinde manuel olarak incelenmiştir. Dayanak noktası oluşturan PoC, gerçek kayıt silme ve geri çağırma taşıyıcısını korumuştur: occ_shutdown() hwmon_device_unregister() occ_show_temp_1() occ_update_response() Lockdep, occ_shutdown()'ın halihazırda OCC mutex'ini tuttuğu ve hwmon_device_unregister()'ın sysfs tarafında beklediği dairesel bağımlılığı raporlamıştır: 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 kaydı ve kaldırılması ayrı bir hwmon_lock ile serileştirilmiştir. Eşzamanlı OCC durum değişikliklerinin hala kararlı bir durum görmesi için, bu kilit altında, occ->lock tutulurken occ->hwmon ayrılmış ve occ->active güncellenmiş; ardından hwmon_device_unregister() çağrılmadan önce occ->lock bırakılmıştır. Sürücü özniteliklerinin boşaltılması işlemi OCC mutex'i tutulurken bekleyemeyeceği için, occ_shutdown() içinde occ->lock alınmadan önce sürücü sysfs grubu kaldırılmıştır. Ayrıca, devre dışı bırakma işleminden sonra OCC güncelleme geri çağırmalarının -ENODEV döndürmesi sağlanmıştır; böylece sysfs aktif korumasını zaten geçmiş olan geri çağırmalar, kaldırma işlemi hwmon aygıtını ayırdıktan sonra donanımı sorgulamaz.
Nasıl düzeltilir
- Linux Linux2a4c80ff3571498ec6a916273304b6650026b1b0, e7fd81e9fb1fe476d2131fec66c1138457810ed4, 2092952f22a7da98e76e84139ae202b1fc7ba899, f0aad157576da199c146c1bb266442befa7912ca, 7ee43ec8e6774774abbe9dc3027225e01bc964a5, e31408734332b8cc611342cdaaab6ba492180156, 5.16 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.