CVE-2023-53641
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: wifi: ath9k: hif_usb: remain_skbs yaddaş sızmasının düzəldilməsi hif_dev->remain_skb yalnız ath9k_hif_usb_rx_stream() funksiyasında ayrılır və istifadə olunur. Beləliklə, ayrılmış remain_skb-nin emal edildiyi və daha sonra (xəta yollarında) azad edildiyi yalnız ath9k_hif_usb_rx_stream()-in növbəti çağırışı zamanı baş verir. Beləliklə, cihazın deaktivasiyası və ya suspend rejiminə keçməsi səbəbindən bu iki çağırış arasında urbs-lər yaddaşdan silinərsə, ath9k_hif_usb_rx_stream() funksiyasının növbəti dəfə çağırılmaması və ayrılmış remain_skb-nin sızması mümkündür. Yerli Syzkaller instansiyamız bunu tetikləyə bildi. remain_skb məntiqi cəhətdən bir-biri ilə əlaqəli olan ardıcıl iki urb qəbul edilərkən məna kəsb edir, yəni birinci skb-dən müəyyən bir məlumat sahəsi ayrılacaq keşlənmiş skb-ni göstərir, bəzi məlumatlarla memcpy edilir və sonradan ath9k_hif_usb_rx_stream()-in növbəti çağırışında emal olunur. Urbs-lərin yaddaşdan silinməsi ehtimal olunur ki, həmin əlaqəni əhəmiyyətsiz edir, buna görə də belə hallarda keşlənmiş skb-ni azad etməliyik. Sızma, rx urbs-lər yaddaşdan silindikdə remain_skb-ni (əgər NULL deyilsə) açıq şəkildə azad etmək üçün funksiya tətbiq edilməklə düzəldildi. remain_skb heç vaxt ayrılmadıqda (hif_dev strukturu kzalloced edildikdə) və ya ath9k_hif_usb_rx_stream()-in növbəti çağırışında emal edildikdə NULL olur. Syzkaller vasitəsilə Linux Verification Center (linuxtesting.org) tərəfindən aşkar edilmişdir.
Necə düzəltmək olar
- linux linux_kernel4.19.283, 5.4.243, 5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2 və ya daha yeni versiya
- git.kernel.org/stable/c/320d760a35273aa815d58b57e4fd9ba5279a3489
- git.kernel.org/stable/c/59073060fe0950c6ecbe12bdc06469dcac62128d
- git.kernel.org/stable/c/6719e3797ec52cd144c8a5ba8aaab36674800585
- git.kernel.org/stable/c/7654cc03eb699297130b693ec34e25f77b17c947
- git.kernel.org/stable/c/8f02d538878c9b1501f624595eb22ee4e5e0ff84
- git.kernel.org/stable/c/9b9356a3014123f0ce4b50d9278c1265173150ab
- git.kernel.org/stable/c/d9899318660791141ea6002fda5577b2c5d7386e
- git.kernel.org/stable/c/f0931fc8f4b6847c72e170d2326861c0a081d680
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 2.6.35 ≤ v < 4.19.283, 4.20 ≤ v < 5.4.243, 5.5 ≤ v < 5.10.180, 5.11 ≤ v < 5.15.111, 5.16 ≤ v < 6.1.28, 6.2 ≤ v < 6.2.15, 6.3 ≤ v < 6.3.2 | 4.19.283, 5.4.243, 5.10.180, 5.15.111, 6.1.28, 6.2.15, 6.3.2 |
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.