CVE-2026-89667

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılmışdır: nfsd: filecache-də close shrinker/GC/fsnotify və per-net shutdown arasında yarış vəziyyəti (race condition) Shrinker, GC işçisi və fsnotify/lease geri çağırışları nfsd_file obyektini rhashtable-dan çıxara bilər və sonra onu per-net dispose siyahısına köçürmək üçün nfsd_file_dispose_list_delayed() funksiyasını çağıra bilər. Əgər nfsd_file_cache_shutdown_net() eyni vaxtda icra olunarsa, onun rhashtable gəzintisi artıq çıxarılmış faylı görmür və per-net dispose siyahısının təmizlənməsi prosesi fayl növbəyə alınmamışdan əvvəl baş verə bilər. Nəticədə fayl, onu təmizləyəcək heç bir axın olmadan per-net siyahısında qalır ki, bu da həm faylın, həm də onunla bağlı vəziyyətin sızmasına (leak) səbəb olur. GC işçisi və shrinker LRU-nu gəzərkən artıq nfsd_gc_lock kilidinə sahibdir, lakin orijinal kodda onlar nfsd_file_dispose_list_delayed() funksiyasını çağırmazdan əvvəl bu kilidi buraxırlar. fsnotify/lease yolu (nfsd_file_close_inode) isə heç bir sinxronizasiyaya malik deyil. Bu problem aşağıdakılar vasitəsilə həll edilmişdir: 1. Həm nfsd_file_gc(), həm də nfsd_file_lru_scan() funksiyalarında nfsd_gc_lock kilidinin əhatəsi genişləndirilmişdir ki, bu da nfsd_file_dispose_list_delayed() çağırışını əhatə etsin. 2. nfsd_file_close_inode() funksiyası nfsd_gc_lock ilə əhatə edilmişdir ki, beləliklə nfsd_file_dispose_list_delayed() funksiyasının hər üç çağırıcısı kilidə sahib olsun. 3. nfsd_file_cache_shutdown_net() funksiyasında təmizləmədən sonra spin_lock/unlock(nfsd_gc_lock) baryeri əlavə edilmişdir ki, per-net siyahısı təmizlənməzdən əvvəl davam edən bütün dispose əməliyyatları tam şəkildə başa çatsın. Kilid daxilindəki bütün əməliyyatlar yuxu rejiminə keçməyən (non-sleeping) əməliyyatlardır (rhashtable axtarışları, atomik bit/refcount əməliyyatları, siyahı köçürmələri, svc_wake_up), buna görə də spinlock istifadəsi müvafiqdir.

CiddilikYüksək
CVSS8.1
İstismar ehtimalı45. faiz dərəcəsi0,5%
MəhsulLinux
Dərc11 sen 2026
İlk görülmə11 sen 2026

Necə düzəltmək olar

Yeniləyin
  • Linux Linuxb15997b53b61c74fb4d083f7261d19f389ff854f, 6d6b9f6a75c3767250e9c23ace4e384ab8f7843e, 08af9593e2b472fd98c00faf1bf03bdbb7203477, 40162cfea79b9510380decfdd1795b754dc9f972 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Linux Linuxffb402596147ac583f3464ff5c48feb9423e3838 ≤ v < b15997b53b61c74fb4d083f7261d19f389ff854f, ffb402596147ac583f3464ff5c48feb9423e3838 ≤ v < 6d6b9f6a75c3767250e9c23ace4e384ab8f7843e, ffb402596147ac583f3464ff5c48feb9423e3838 ≤ v < 08af9593e2b472fd98c00faf1bf03bdbb7203477, ffb402596147ac583f3464ff5c48feb9423e3838 ≤ v < 40162cfea79b9510380decfdd1795b754dc9f972, 6.9b15997b53b61c74fb4d083f7261d19f389ff854f, 6d6b9f6a75c3767250e9c23ace4e384ab8f7843e, 08af9593e2b472fd98c00faf1bf03bdbb7203477, 40162cfea79b9510380decfdd1795b754dc9f972

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-89667 · Linux · Dark Radar