CVE-2026-89956

Yüksek

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: s390/vfio-ap: ap_matrix_mdev nesne listesine erişim için gerekli olan eksik kilit düzeltildi matrix_dev->mdev_list içerisindeki ap_matrix_mdev nesneleri arasında gezinmek veya bu nesneleri eklemek/kaldırmak için matrix_dev->guests_lock mutex'inin tutulması gerekir. Listeye mutex tutmadan erişen iki fonksiyon bulunmaktadır: vfio_ap_mdev_probe fonksiyonu ~~~~~~~~~~~~~~~~~~~~~~~~~~~ vfio_ap_mdev_probe fonksiyonu, yeni oluşturulan bir ap_matrix_mdev nesnesinin matrix_dev->mdev_list'e eklenmesini korumak için matrix_dev->mdevs_lock mutex'ini kullanır. Bu mutex liste erişimini korumaz; amacı, bir ap_matrix_mdev nesnesi içinde bulunan alanlara eşzamanlı erişimi engellemektir. Başka bir mdev eşzamanlı olarak oluşturulursa veya kaldırılırsa, bu durum çekirdek bellek bozulmasına veya serbest bırakıldıktan sonra kullanım (use-after-free) hatasına yol açabilir. Bir ap_matrix_mdev nesnesinin matrix_dev->mdev_list'e eklenmesi artık, eşzamanlı mdev_list erişimine karşı korunmanın doğru yolu olan matrix_dev->guests_lock tarafından korunmaktadır. Ayrıca, matrix_mdev'in kzalloc kullanan vfio_alloc_device makrosu aracılığıyla tahsis edilmesi nedeniyle, vfio_register_emulated_iommu_dev çağrısından önce struct tahsis edildiğinde req_trigger ve cfg_chg_trigger zaten sıfıra başlatılmış olduğundan aşağıdaki iki kod satırı kaldırılmıştır. Bu işlem, cihaz kullanıcı alanına sunulduktan sonra bu tetikleyicilerin NULL olarak ayarlandığı bir zaman aralığının oluşmasını önler. matrix_mdev->req_trigger = NULL; matrix_mdev->cfg_chg_trigger = NULL; vfio_ap_mdev_for_queue fonksiyonu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /sys/bus/ap/devices altındaki cihazların durum özniteliğinin görüntülenmesini destekleyen status_show fonksiyonu, durumu görüntülenecek kuyruk cihazını temsil eden nesneyi bulmak için matrix_dev->mdev_list üzerinde yineleme yapan vfio_ap_mdev_for_queue fonksiyonunu çağırır. Bu listede gezinmek için matrix_dev->guests_lock mutex'inin tutulması gerekir. Bunu düzeltmek için, status_show fonksiyonunda matrix_dev->mdevs_lock mutex'i alınmadan önce guests_lock mutex'i alınır. İhtiyaç duyulan yer olan vfio_ap_mdev_for_queue fonksiyonu yerine burada alınmasının sebebi, uygun kilitleme sırasına uymak ve bir lockdep splat'i önlemek için mdevs_lock mutex'inden önce alınması gerekmesidir; ayrıca o fonksiyonda matrix_mdev nesnesi içindeki alanlara erişmek için mdevs_lock gereklidir. Linux kernel ağacındaki vfio-ap-locking.rst dosyesine bakınız.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünMicrosoft Azl3 Kernel
Yayın16 Eyl 2026
İlk görülme16 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.152.1-1Aralık belirtilmemiş—
microsoft azl3_kernel_6.6.157.1-1Aralık belirtilmemiş—
microsoft azl3_kernel_6.6.150.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.