CVE-2026-90400
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: md: sinxronizasiya başlamazdan əvvəl ehtiyat dəyişikliklərini yenidən yoxlayın remove_spares() və remove_and_add_spares() funksiyaları massivin rdev konfiqurasiyasını dəyişdirir. Bu əməliyyatlar yalnız massiv dayandırıldıqdan (suspended) sonra təhlükəsizdir. md_start_sync() funksiyası reconfig_mutex götürməzdən əvvəl ehtiyat konfiqurasiyası dəyişikliklərinə ehtiyac olub-olmadığını yoxlayır. Lakin mutex əldə edilməzdən əvvəl rdev vəziyyəti dəyişə bilər, buna görə də ilkin yoxlama köhnəlmiş ola bilər. Belə olan halda, md_choose_sync_action() normal I/O hələ də onlara müraciət edərkən rdev-ləri silə və ya əvəz edə bilər. Yarış şəraiti (race condition) aşağıdakı kimi baş verə bilər: raid10d Worker Normal IO ____________ _______________________ ______________________ raid10_write_request() wait_blocked_dev() set Blocked set Faulty Skip Faulty rdev rrdev->nr_pending++ .repl_bio = bio removeable_rdev = false . array not suspended . lock mddev goto err_handle lock mddev (wait) . update sb . clear Blocked . . unlock mddev . lock mddev (acquires) remove_spares() removeable_rdev = true raid10_remove_disk() rdev = replacement replacement = NULL rdev_dec_pending(NULL) unlock mddev (NULL)->nr_pending-- Bu halda, rdev_dec_pending() NULL göstəricisi ilə çağırılır və nr_pending dəyərini azaltmağa cəhd etdikdə NULL pointer dereference baş verir. Bu problem, oxuma-yazma olmayan massivlər də daxil olmaqla, ehtiyat konfiqurasiyası dəyişiklikləri tələb olunduqda massivi dayandıraraq və reconfig_mutex götürdükdən sonra yenidən yoxlayaraq həll edilmişdir. Əgər massiv hələ dayandırılmayıbsa və indi dəyişikliyə ehtiyac varsa, mutex buraxılır, massiv dayandırılır və davam etməzdən əvvəl mutex yenidən əldə edilir.
Necə düzəltmək olar
- Linux Linuxc3777d16bc3335c0ac4bdad0551c80d38c5d94cc, e5ac7ab78467b064f1da8b0f3042a63595fafcfd, 81b39df5d701976cf20e52f33106c1fc1603b4cb, c7d34d17ea43ebc86b45d439ebb435e11ca44bca və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | bc08041b32abe6c9824f78735bac22018eabfc06 ≤ v < c3777d16bc3335c0ac4bdad0551c80d38c5d94cc, bc08041b32abe6c9824f78735bac22018eabfc06 ≤ v < e5ac7ab78467b064f1da8b0f3042a63595fafcfd, bc08041b32abe6c9824f78735bac22018eabfc06 ≤ v < 81b39df5d701976cf20e52f33106c1fc1603b4cb, bc08041b32abe6c9824f78735bac22018eabfc06 ≤ v < c7d34d17ea43ebc86b45d439ebb435e11ca44bca, 6.7 | c3777d16bc3335c0ac4bdad0551c80d38c5d94cc, e5ac7ab78467b064f1da8b0f3042a63595fafcfd, 81b39df5d701976cf20e52f33106c1fc1603b4cb, c7d34d17ea43ebc86b45d439ebb435e11ca44bca |
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.