CVE-2022-50550
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: blk-iolatency: add_disk() uğursuz olduqda yaranan yaddaş sızmasının düzəldilməsi Gendisk uğurla başladığı, lakin məsələn, dövr cihazında (loop device) yanlış kiçik cihaz nömrələri sayının göstərildiyi hallarda add_disk() uğursuz olduqda, başlatma zamanı blkcg_init_disk(), xətaların idarə edilməsi zamanı isə blkcg_exit_disk() çağırılır. Təəssüf ki, iolatency birinci halda başladılır, lakin ikinci halda təmizlənmir. Bunun səbəbi odur ki, xətasız hallarda təmizləmə əməliyyatı del_gendisk() vasitəsilə rq_qos_exit() çağırılaraq yerinə yetirilir; burada fərz edilir ki, iolatency də daxil olmaqla rq_qos siyasətləri yalnız disk tam qeydiyyata alındıqdan və görünür olduqdan sonra aktivləşdirilə bilər. Bu fərz wbt və iocost üçün doğrudur, lakin iolatency üçün doğru deyil, çünki o, add_disk() çağırılmamışdan əvvəl başladılır. rq_qos siyasətlərinin tənbəl başlatılması (lazy-init) arzuolunandır, çünki onlar isteğe bağlı funksiyalardır və başladıldıqdan sonra kritik yolun (hot path) yüklərini artırırlar - hər bir IO bütün qeydiyyatdan keçmiş rq_qos siyasətlərini nəzərdən keçirməlidir. Buna görə də biz iolatency-ni də tənbəl başlatmaya keçirmək istəyirik. Lakin bu daha genişmiqyaslı dəyişiklikdir. Mövcud problemin həlli kimi, blkcg_exit_disk() funksiyasına əlavə rq_qos_exit() çağırışı əlavə edirik. Bu təhlükəsizdir, çünki rq_qos_exit() funksiyasının dublikat çağırışları heç bir əməliyyat yerinə yetirmir (noop).
Necə düzəltmək olar
- linux linux_kernel6.0.17, 6.1.2 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 | 4.19 ≤ v < 6.0.17, 6.1 ≤ v < 6.1.2 | 6.0.17, 6.1.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.