CVE-2026-23186
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: hwmon: (acpi_power_meter) acpi_power_meter_notify() ilə bağlı deadlock-ların düzəldilməsi acpi_power_meter drayverinin .notify() geri çağırış funksiyası olan acpi_power_meter_notify(), hwmon_device_unregister() funksiyasını elə bir kilidin (lock) altında çağırır ki, həmin kilid eyni zamanda qeydiyyatdan çıxarılan cihazın sysfs atributlarının geri çağırışları tərəfindən də əldə edilir; bu isə sysfs girişləri və cihazın silinməsi arasında deadlock-lara meyillidir. Bu problem, acpi_power_meter_notify() funksiyasındakı hwmon cihazının silinmə prosesini sözügedən kilidin xaricinə çıxarmaqla həll edilmişdir. Lakin yalnız bunun kifayət etmədiyi nəzərə alınmışdır, çünki iki paralel METER_NOTIFY_CONFIG bildirişi eyni vaxtda eyni cihazı silməyə çalışa bilər. Bunun qarşısını almaq üçün acpi_power_meter_notify() funksiyasındakı switch () operatorunun icrasını ardıcıl edən yeni bir kilid əlavə edilmişdir. Sadəlik üçün statik mutex istifadə olunmuşdur ki, bu da performans baxımından problem yaratmamalıdır. Yeni kilid həmçinin acpi_power_meter_notify() funksiyasındakı hwmon_device_register_with_info() funksiyasının daxili kilidin xaricində çağırılmasına imkan verir, çünki o, həmin funksiya tərəfindən idarə olunan digər bildirişlərin, onun əsasında qurulmuş hwmon cihazı qeydiyyata alınarkən "resource" obyektini manipulyasiya etməsinin qarşısını alır. acpi_power_meter_notify() funksiyasından göndərilən ACPI netlink mesajları da yeni kilid vasitəsilə ardıcıllaşdırılır ki, bu da ümumilikdə proqram təminatı (firmware) bildirişlərinin emal sırasının onlarla bağlı netlink mesajlarının göndərilmə sırası ilə eyni olmasını təmin etməyə kömək edir. Əlavə olaraq, hwmon_device_register_with_info() funksiyasının uğursuz ola biləcəyi və bu halda resource->hwmon_dev-in xəta göstəricisinə (error pointer) çevriləcəyi nəzərə alınmışdır. Buna görə də, belə hallarda hwmon cihazı göstəricisinin qeydiyyatdan çıxarılma cəhdlərinin qarşısını almaq üçün acpi_power_meter_notify() və acpi_power_meter_remove() funksiyalarına yoxlamalar əlavə edilmişdir.
Necə düzəltmək olar
- linux linux_kernel6.18.10 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 6.15 ≤ v < 6.18.10, 6.19 | 6.18.10 |
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.