CVE-2026-98284

Orta

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: netlink: kilitsiz okuyucular kullanabilirken nlk->groups serbest bırakılmamalıdır netlink_realloc_groups(), netlink_table_grab() altında krealloc() kullanır. NLGRPSZ(groups) farklı bir kmalloc kovasına düştüğünde, eski bit eşlemi hemen serbest bırakılır. nlk->groups / nlk->ngroups değerlerini okuyan iki okuyucu, netlink tablo kilidini tutmaz: 1) sk_diag_dump_groups(). Özetlenen (bağlı) soketler, yalnızca RCU tutan __netlink_diag_dump() içindeki rhashtable yürütmesinden dökülür. Dökümün yalnızca mc_list kısmı nl_table_lock kullanır. 2) Yürütmesi 21e4902aea80 ("netlink: Lockless lookup with RCU grace period in socket release") commit'inden beri kilitsiz olan netlink_native_seq_show() (/proc/net/netlink). Her ikisi de serbest bırakılmış bir tamponu okuyabilir ve sk_diag_dump_groups(), eğer eski @groups işaretçisini yeni @ngroups değeriyle birlikte yüklerse, sonucu bir NETLINK_DIAG_GROUPS özniteliğine kopyalayarak eski (daha küçük) tamponun sonunun ötesini de okuyabilir. Bu, f773608026ee ("netlink: access nlk groups safely in netlink bind and getname") commit'inin bind() ve getname() için düzelttiği hata sınıfıyla aynıdır; bu iki okuyucu gözden kaçmıştır. sk_diag_dump_groups() içinde basitçe tablo kilidini almak bir seçenek değildir çünkü bu fonksiyon, dökümün mc_list bölümünden zaten tutulan nl_table_lock ile çağrılmaktadır. Bunun yerine kilitsiz okuyucular güvenli hale getirilmiştir: - krealloc() tarafından gerçekleştirilen örtük kfree()'ye güvenmek yerine, yeni bir bit eşlemi tahsis edilir ve eskisi bir RCU grace period sonrası serbest bırakılır. - Her ikisi de release semantiği ile olacak şekilde @groups, @ngroups'tan önce yayınlanır ve kilitsiz okuyucuların önce @ngroups değerini yüklemesi sağlanır. Böylece bir okuyucu, yeni (daha büyük) boyutu asla eski (daha küçük) tamponla eşleştiremez ve hala eski boyutu görürken yeni işaretçiyi alan bir okuyucunun başlatılmış bit eşlemini görmesi garanti altına alınır. netlink_realloc_groups(), işlem bağlamından (bind() ve setsockopt()) çağrıldığından, tablo serbest bırakıldıktan sonra kfree_rcu_mightsleep() kullanılabilir.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünMicrosoft Azl3 Kernel
Yayın6 Eki 2026
İlk görülme6 Eki 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.