CVE-2026-90206
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: nvmet: configfs və kontroller təyinatı arasındakı max_qid yarış şərtinin (race condition) düzəldilməsi Subsystem-in max_qid limiti dəyişdirildikdə, nvmet_subsys_attr_qid_max_store() funksiyası nvmet_alloc_ctrl() ilə yarış şərtində ola bilər. Tutaq ki, hazırda max_qid 64-dür. Əgər nvmet_alloc_ctrl() icra olunursa: ctrl->sqs = kzalloc_objs(struct nvmet_sq *, subsys->max_qid + 1); və məhz bu anda istifadəçi sahəsi prosesi max_qid dəyərini 128-ə dəyişirsə, nvmet_subsys_attr_qid_max_store() yeni max_qid dəyərini təyin edəcək. O, yenidən qoşulmanı məcburi etmək üçün aktiv kontrollerləri silməyə çalışır, lakin yeni kontroller hələ subsys->ctrls siyahısına əlavə edilmədiyi üçün silinməyəcək. Daha sonra nvmet_alloc_ctrl() davam edir və yeni kontrolleri subsys->ctrls siyahısına əlavə edir. Sonradan nvmet_install_queue() çağırıldıqda, o, max_qid-nin 128 olaraq təyin edildiyini görəcək, lakin sqs üçün ayrılmış yaddaş yalnız 64 giriş üçün ölçülmüşdür. Bu, KASAN sərhədlərdən kənar çıxma (out-of-bounds) xəbərdarlığına və potensial yaddaş korlanmalarına səbəb olur. Bu problem, nvmet_alloc_ctrl()-də növbə təyinatlarını və siyahıya daxiletməni down_read(&nvmet_config_sem) ilə qorumaqla həll edilir. nvmet_subsys_attr_qid_max_store() atributu dəyişdirmək üçün down_write(&nvmet_config_sem) əldə etdiyindən, bu, kontroller yaradılması zamanı configfs yazıcısının max_qid-ni dəyişməsini təhlükəsiz şəkildə önləyir. Təyinat zamanı max_qid-ni subsystem-dən kontroller strukturuna kopyalayın; kontroller LIVE vəziyyətində olduğu müddətcə ctrl->max_qid heç vaxt dəyişmir, beləliklə, bu, oxşar yarış şərtlərinin qarşısını alacaq.
Necə düzəltmək olar
Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| microsoft azl3_kernel_6.6.150.1-1 | Aralıq göstərilməyib | — |
| microsoft azl3_kernel_6.6.152.1-1 | Aralıq göstərilməyib | — |
| microsoft azl3_kernel_6.6.157.1-1 | Aralıq göstərilməyib | — |
| microsoft azl3_kernel_6.6.159.1-1 | Aralıq göstərilməyib | — |
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.