CVE-2026-98996

Orta

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: fs: məşğul olan mount-ların səssizcə unmount edilməsinin qarşısını alın `propagate_mount_busy()` köməkçi funksiyası sinxron unmount əməliyyatının uğurlu olub-olmayacağına qərar vermək üçün mövcuddur. O bunu, valideyninin yaydığı (propagate) mount-lardakı hədəflərin surətlərini yoxlayaraq edir. Bu funksiyalardan biri yayılma proseslərinin mürəkkəbliyi ilə bağlıdır. O, surətin kökünü örtən tək bir alt mount olduğu hal istisna olmaqla, alt mount-ları olan surəti ötürür. Bu alqoritm əvvəllər dəqiq idi, lakin artıq elə deyil. İlkin olaraq, yayılma zamanı yalnız alt mount-u olmayan surətlər unmount edilirdi. Lakin 1064f874abc0 ("mnt: Tuck mounts under others instead of creating shadow/side mounts.") commit-i nəticəsində örtülmüş mount-lar eyni anda hər iki tərəfə əlavə edildi. Daha sonra 99b19d16471e ("mnt: In propgate_umount handle visiting mounts in any order") commit-i gəldi və bu, əvvəlkindən daha çox mount-un unmount edilməsinə səbəb oldu: [1]: Mount-un surəti o zaman unmount edilir ki, onun hər bir alt mount-u ya onun overmount-u, ya da hədəfin özünün surəti olsun. Birinci halda overmount yenidən valideynləşdirilir (reparented), ikinci halda isə hədəfin surəti sonda unmount edilir. Beləliklə, `propagate_umount()` funksiyası `propagate_mount_busy()` funksiyasına düzəliş etmədən yenidən yazıldı. Hazırda `propagate_mount_busy()` iki və ya daha çox alt mount-u olan hədəf surətlərinə, yaxud overmount olmayan tək bir alt mount-u olan surətlərə baxmır. Nəticədə, [1]-dəki belə bir surət üçün istinadlar (references) yoxlanılmır. Bunun nəticəsi odur ki, sinxron unmount uğurlu olur və hələ də istifadə edilən mount çıxarılır. Konteyner öz mount-ları ilə buna rast gələ bilər. Host konteynerlə ağacı paylaşır və host-un həmin ağacda mount-u var: mount -t tmpfs none /mnt mount --make-shared /mnt mount -t tmpfs none /mnt/a Konteynerin `/mnt` qovluğu host mount-unun slave surətidir. Konteyner indi ağacın ayrılmış (detached) surətini götürür və həmin surəti `/mnt/a`-nın yayılmış surətinin altına mount edir və ağaca aid fayl deskriptorunu açıq saxlayır: unshare -m --propagation unchanged mount --make-rslave / fd = open_tree(AT_FDCWD, "/mnt", OPEN_TREE_CLONE | AT_RECURSIVE) move_mount(fd, "", AT_FDCWD, "/mnt/a", MOVE_MOUNT_BENEATH) grep /mnt /proc/self/mountinfo 775 355 ... /mnt ... master:646 777 775 ... /mnt/a ... master:646 776 777 ... /mnt/a ... master:647 778 777 ... /mnt/a/a ... master:647 İndi qoşulmuş ağac (777) konteynerin `/mnt/a` surətinin altına mount edilib. Eyni zamanda host mount-u da orada yerləşir (host mount namespace-dən göründüyü kimi). Beləliklə, host mount-unun yayılmış surəti (776) onun kökü üzərindədir və bunun surəti (778) onun daxilindədir. İndi host aşağıdakını icra edir: umount /mnt/a və bu əməliyyat uğurlu olur. Daşınmış ağac və onun daxilindəki surət konteynerdən silinir. İndi yalnız yayılmış surət qalır və o, əvvəl olduğu yerə yenidən valideynləşdirildi: grep /mnt /proc/self/mountinfo 775 355 ... /mnt ... master:646 776 775 ... /mnt/a ... Lakin fayl deskriptoru hələ də daşınmış ağaca istinad edir. Beləliklə, sinxron umount hələ də istifadə edilən mount-u ayırdı. `propagate_mount_busy()` funksiyasına `propagate_umount()`-un etdiyi eyni yoxlamalar öyrədildi. Artıq o, alt mount-ları olmayan tək bir hədəf mount-u yoxlayır və `propagate_umount()`-un etdiyi kimi, hər bir surətdə MNT_LOCKED-in təmizləndiyini fərz edə bilir. Surətlər zəncirlər əmələ gətirir. Başqa sözlə, bir surət hədəfin valideynindən yayılma aldıqda, həmin surətin daxilindəki eyni mount nöqtəsindəki mount da bir surətdir. Mount-un hədəfdən yayılma alıb-almadığını sadəcə onun master-larını izləyərək yoxlamaq olar. Hər bir zənciri yuxarıdan başlayaraq bir dəfə izləyin ki, iç-içə olan surətlərin xətti qaldığından əmin olaq. Unmount edilən hər bir surətin hər bir istinadını bir dəfə yoxlayın.

CiddilikOrta
CVSS6.3
İstismar ehtimalı—
MəhsulMicrosoft Azl3 Kernel
Dərc23 okt 2026
İlk görülmə23 okt 2026

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əhsulTəsirlənən versiyalarDüzəldildiyi versiya
microsoft azl3_kernel_6.6.159.1-1Aralıq göstərilməyib—
microsoft azl3_kernel_6.6.157.1-1Aralı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.

Intelligence 360 paketində

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.

CVE-2026-98996 · Microsoft Azl3 Kernel · Dark Radar