CVE-2026-93221

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: nfsd: nfsd_net boolean bayraklarını unsigned long bayrak kelimesine dönüştürün nfsd_net, seri hale getirilmeden eşzamanlı bağlamlardan erişilen birkaç boolean alan içerir. Özellikle, nfsd4_end_grace() boşaltma yolunu düz bir bool ile korur: if (nn->grace_ended) return; nn->grace_ended = true; Okuma ve yazma işlemleri bağımsızdır ve struct nfsd_net içinde bunları seri hale getiren hiçbir şey yoktur. En az iki bağlam, herhangi bir kilit tutulmadan bu koda ulaşabilir: laundromat yolu laundry_wq kworker nfs4_laundromat() nfsd4_end_grace() RECLAIM_COMPLETE yolu nfsd compound kthread nfsd4_reclaim_complete() inc_reclaim_complete() nfsd4_end_grace() Her iki çağırıcı da farklı CPU'larda grace_ended == false durumunu gözlemleyebilir, her ikisi de true değerini saklayabilir ve her ikisi de aktif client_tracking_ops->grace_done geri çağırmasını tetikleyen nfsd4_record_grace_done() işlemine devam edebilir. reclaim_str_hashtbl yapısını boşaltan izleme işlemleri için (nfsd4_recdir_purge_old aracılığıyla legacy_tracking_ops ve nfsd4_cld_grace_done aracılığıyla cld v1+ işlemleri), grace_done, reclaim_str_hashtbl'nin her kovasında kilit olmadan gezen ve her giriş üzerinde nfs4_remove_reclaim_record() (list_del + kfree) çağıran nfs4_release_reclaim() fonksiyonunu çağırır. İki eşzamanlı gezgin listeyi bozar ve her nfs4_client_reclaim nesnesini çift serbest bırakır (double-free). Aynı kovayı yineleyen eşzamanlı bir nfsd4_find_reclaim_client() işlemi ise serbest bırakılmış bellek üzerinden okuma yapar. nfs4_state_start_net() içindeki skip_grace başlangıç yolunda üçüncü bir çağrı noktası mevcuttur ancak bu nokta, herhangi bir istemci bağlanmadan ve laundromat'in ilk gecikmeli işi çalışmadan önce nfsd_mutex altında çalıştığından yukarıdaki iki çağırıcı ile yarışamaz. nfsd_net içindeki dağınık boolean alanları tek bir unsigned long bayrak kelimesi ve bit konumları için bir enum nfsd_net_flag ile değiştirin. grace_ended yarışı, tüm mimarilerde atomik olan test_and_set_bit() kullanılarak düzeltilmiştir. Kalan bayraklar (grace_end_forced, in_grace, somebody_reclaimed, track_reclaim_completes, nfsd_net_up, lockd_up), tutarlılık için test_bit/set_bit/clear_bit kullanacak şekilde dönüştürülmüştür. Bu, yalnızca kelime boyutlu atomik işlemleri destekleyen Hexagon gibi mimarilerdeki alt-kelime cmpxchg sorunlarını önler.

ÖnemYüksek
CVSS8.1
İstismar olasılığı—
ÜrünMicrosoft Azl3 Kernel
Yayın24 Eyl 2026
İlk görülme24 Eyl 2026

Nasıl düzeltilir

Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
microsoft azl3_kernel_6.6.157.1-1Aralık belirtilmemiş—
microsoft azl3_kernel_6.6.159.1-1Aralık belirtilmemiş—

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

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