CVE-2025-37805
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: sound/virtio: Başlanğıc dəyəri təyin edilməmiş work_struct-larda cancel_sync xəbərdarlıqlarının düzəldilməsi Betty aşağıdakı xəbərdarlığın baş verdiyini bildirmişdir: [ 8.709131][ T221] WARNING: CPU: 2 PID: 221 at kernel/workqueue.c:4182 ... [ 8.713282][ T221] Call trace: [ 8.713365][ T221] __flush_work+0x8d0/0x914 [ 8.713468][ T221] __cancel_work_sync+0xac/0xfc [ 8.713570][ T221] cancel_work_sync+0x24/0x34 [ 8.713667][ T221] virtsnd_remove+0xa8/0xf8 [virtio_snd ab15f34d0dd772f6d11327e08a81d46dc9c36276] [ 8.713868][ T221] virtsnd_probe+0x48c/0x664 [virtio_snd ab15f34d0dd772f6d11327e08a81d46dc9c36276] [ 8.714035][ T221] virtio_dev_probe+0x28c/0x390 [ 8.714139][ T221] really_probe+0x1bc/0x4c8 ... Görünür ki, virtsnd_probe() funksiyasındakı xəta yoluna rast gəlinir və bu, alt axınlar üzrə dövr edərək elapsed_period work_struct üçün cancel_work_sync() funksiyasını çağıran virtsnd_remove()-u tetikləyir. Koda baxdıqda, əvvəlki mərhələlərdə: virtsnd_probe()->virtsnd_build_devs()->virtsnd_pcm_parse_cfg() Biz snd->nsubstreams dəyərini təyin edirik, snd->substreams sahəsini ayırırıq və əgər daha sonra info ayrılmasında xəta baş verərsə və ya virtsnd_ctl_query_info() daxilində nəsə uğursuz olarsa, elapsed_period work_struct strukturunu başlatmadan çıxış edəcəyik. Həmin xəta yolu geri qaytarıldıqda, biz virtsnd_remove()-u çağırırıq və substreams massivi ayrıldığı müddətcə, o, başlatılmamış iş strukturu üzərində cancel_work_sync()-i çağıraraq dövr edəcək və bu xəbərdarlığa səbəb olacaq. Takashi Iwai, substreams strukturunun ayrılmadan dərhal sonra başladılmasına dair bu həlli təklif etmişdir ki, beləliklə, xəta yollarına rast gəldikdə başlatılmamış məlumatların təmizlənməsi cəhdlərinin qarşısı alınsın. Qeyd: Mən hələ ki problemi özüm təkrar istehsal edə bilməmişəm, buna görə də bu yamaya məhdud testlər tətbiq edilmişdir. Rəylər və düşüncələr xoş qarşılanar!
Necə düzəltmək olar
- linux linux_kernel5.15.181, 6.1.136, 6.6.89, 6.12.26, 6.14.5 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 | v < 5.15.181, 5.16 ≤ v < 6.1.136, 6.2 ≤ v < 6.6.89, 6.7 ≤ v < 6.12.26, 6.13 ≤ v < 6.14.5 | 5.15.181, 6.1.136, 6.6.89, 6.12.26, 6.14.5 |
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.