CVE-2026-89958
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: s390/vfio-ap: matrix_mdev->kvm-in NULL olub-olmadığını yoxlamadan istifadəsinin düzəldilməsi ap_driver strukturunda geri çağırışlara (callback) yönəlmiş iki funksiya göstəricisi sahəsi var: * .on_config_changed: AP şinini skan etmə funksiyasının əvvəlində çağırılır və cihaz drayverinə host AP konfiqurasiyasının dəyişdiyini, müvafiq AP cihazlarının əlavə ediləcəyini və ya silinəcəyini bildirir. Bu, tətbiq edən şəxsə konfiqurasiya dəyişikliklərini qiymətləndirmək və müvafiq cihazlar əlavə edilməzdən və ya silinməzdən əvvəl onlara reaksiya vermək imkanı verir. * .on_scan_complete: AP şinini skan etmə funksiyasının sonunda çağırılır və cihaz drayverinə host AP konfiqurasiyasının dəyişdiyini, AP cihazlarının müvafiq olaraq əlavə edildiyini və ya silindiyini bildirir. Bu, tətbiq edən şəxsə müvafiq cihazlar əlavə edildikdən və ya silindikdən sonra dəyişikliklərə reaksiya vermək imkanı yaradır. Bu iki geri çağırış vfio_ap cihaz drayverində müvafiq olaraq vfio_ap_on_cfg_changed və vfio_ap_on_scan_complete funksiyaları vasitəsilə tətbiq edilmişdir. Bu iki geri çağırış funksiyasının çağırış stekində (call stack), matrix_mdev->kvm-in NULL olub-olmadığı yoxlanılmadan matrix_mdev->kvm->lock muteksi götürülür. Əgər matrix_mdev->kvm heç vaxt təyin edilməyibsə, kilidi götürməyə cəhd NULL pointer dereference xətasına səbəb olacaqdır. Bu yamama (patch), matrix_mdev->kvm->lock muteksini götürməzdən əvvəl matrix_mdev->kvm == NULL yoxlamalarını əlavə edir. Qeyd edin ki, vfio_ap_mdev_hot_plug_config funksiyasında götürülən matrix_mdev->kvm->lock muteksi, matrix_mdev sahələrinə giriş üçün lazım olan matrix_dev->mdevs_lock ilə birlikdə onu çağıran funksiyaya köçürülüb. Yalnız kvm->lock muteksini götürməzdən əvvəl orada matrix_mdev->kvm yoxlamasını etmək və sonra bunu başqa bir yamama ilə kənara köçürmək mənasız olduğu üçün bu proses həmin yamamada yerinə yetirilmişdir. Aşağıdakıları qeyd etmək vacibdir: 1. Hər iki geri çağırış funksiyasının əvvəlində matrix_dev->guests_lock əldə edilir. Bu, matrix_mdev-in vfio_ap_mdev_remove funksiyası vasitəsilə silinməyəcəyini təmin edir, çünki həmin funksiya da obyekti silməzdən əvvəl matrix_dev_guests_lock-u götürür; beləliklə, matrix_mdev geri çağırış funksiyalarının müddəti boyunca mövcud olacaqdır. 2. matrix_mdev strukturundakı sahələrə giriş üçün matrix_dev->mdevs_lock muteksi götürülməlidir. 3. Lockdep xətasının qarşısını almaq üçün matrix_dev->mdevs_lock-dan əvvəl matrix_mdev->kvm->lock muteksi götürülməlidir. 4. Qonağın AP konfiqurasiyası vfio_ap_mdev_update_guest_apcb funksiyası vasitəsilə onun SIE vəziyyət təsvirinə qoşularkən kvm->lock saxlanılmalıdır. 5. vfio_ap_mdev_update_guest_apcb funksiyası, qonağın AP konfiqurasiyasını "hot plug" etməzdən əvvəl matrix_mdev->kvm-in NULL olmadığını yoxlayır.
Necə düzəltmək olar
- Linux Linux2fbe430fe40bc5adb7e439d0136d2c5fe34613ba, 5e932abfcce6189d067fffb0eb8214443bc04374, 334b435b951353f934d5110c4630e0cb58d2f9a7, 178ea7a1c2c3c0c01d14b8f60aa35f1e0cdc6b78, 4f7e869d0db24ae07b4c888fd3bc21554eef775d, d50346801b4f144e42b49cd4f1496010498ab114 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < 2fbe430fe40bc5adb7e439d0136d2c5fe34613ba, eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < 5e932abfcce6189d067fffb0eb8214443bc04374, eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < 334b435b951353f934d5110c4630e0cb58d2f9a7, eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < 178ea7a1c2c3c0c01d14b8f60aa35f1e0cdc6b78, eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < 4f7e869d0db24ae07b4c888fd3bc21554eef775d, eeb386aeb5b7c8d2dae6a3ba49255d8a97803182 ≤ v < d50346801b4f144e42b49cd4f1496010498ab114, 6.0 | 2fbe430fe40bc5adb7e439d0136d2c5fe34613ba, 5e932abfcce6189d067fffb0eb8214443bc04374, 334b435b951353f934d5110c4630e0cb58d2f9a7, 178ea7a1c2c3c0c01d14b8f60aa35f1e0cdc6b78, 4f7e869d0db24ae07b4c888fd3bc21554eef775d, d50346801b4f144e42b49cd4f1496010498ab114 |
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.