CVE-2024-38605
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: ALSA: core: kartın başladılması zamanı NULL modul göstəricisinin təyin edilməsi düzəldildi 81033c6b584b ("ALSA: core: Warn on empty module") commit-i, snd_card obyektinin yaradılması zamanı ötürülən NULL modul göstəricisi üçün WARN_ON() tətbiq etdi və həmçinin ətrafındakı kodu '#ifdef MODULE' ilə əhatələdi. Bu, əksər hallarda işləyir, lakin detallarda problemlər mövcuddur. Hədəf kod (yəni səs nüvəsi - sound core) modul kimi qurulduqda "MODULE" təyin edilir; lakin bu, çağıran tərəfin də daxili olub-olmadığını ifadə etmir. Belə ki, yalnız səs nüvəsi daxili qurulmuşsa (CONFIG_SND=y), lakin drayver moduldursa (CONFIG_SND_USB_AUDIO=m), ötürülən modul göstəricisi NULL olmasa belə nəzərə alınmır və card->module NULL olaraq qalır. Bu, cihaz açıldıqda/bağlandıqda modul istinadının artırılmaması/azalmaması ilə nəticələnir ki, bu da modulun silinməsindən sonra kodun icrası ilə bağlı yarış şəraitinə (race condition) səbəb olur. Xətanı aradan qaldırmaq üçün card->module mənimsətməsi yenidən ifdef blokundan kənara çıxarıldı. Bütün səs drayverləri daxili qurulduqda modul həqiqətən NULL ola bildiyi üçün WARN_ON() hələ də ifdef ilə əhatəlidir. Qeyd edək ki, yanlış müsbət (false-positive) NULL modul yoxlamasının qarşısını almaq üçün WARN_ON() üçün 'ifdef MODULE' saxlanılır. Etiraf etmək lazımdır ki, bu tam mükəmməl şəkildə işləməyəcək, yəni CONFIG_SND=y olduqda heç bir yoxlama aparılmayacaq. Lakin bu real problem yaratmır, çünki bu yalnız sazlama (debugging) üçündür və belə bir şərt kifayət qədər nadirdir.
Necə düzəltmək olar
- linux linux_kernel5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.8.12, 6.9.3 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 | 5.9 ≤ v < 5.10.219, 5.11 ≤ v < 5.15.161, 5.16 ≤ v < 6.1.93, 6.2 ≤ v < 6.6.33, 6.7 ≤ v < 6.8.12, 6.9 ≤ v < 6.9.3 | 5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.8.12, 6.9.3 |
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.