CVE-2026-46036
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: vfio/cdx: VFIO_DEVICE_SET_IRQS işlemini cihaz başına mutex ile serileştirin vfio_cdx_set_msi_trigger() vdev->config_msi değerini okur ve bu değere göre vdev->cdx_irqs dizisi üzerinde işlem yapar, ancak eşzamanlı VFIO_DEVICE_SET_IRQS ioctl çağrılarına karşı herhangi bir serileştirme sağlamaz. İki çağıran, biri config_msi değerini ayarlanmış olarak gözlemlerken diğerinin bu değeri temizleyip vfio_cdx_msi_disable() aracılığıyla cdx_irqs dizisini serbest bırakmasına yol açacak şekilde yarışabilir; bu da cdx_irqs dizisinde serbest bırakıldıktan sonra kullanım ile sonuçlanır. struct vfio_cdx_device yapısına bir cdx_irqs_lock mutex'i ekleyin ve config_msi, cdx_irqs ve msi_count üzerindeki tüm güncellemelerin aktığı tek darboğaz olan vfio_cdx_set_msi_trigger() içinde bu mutex'i edinin; bu, hem ioctl yolunu hem de cihaz kapatma temizleme yolunu kapsar. Bu, config_msi testinin sonraki etkinleştirme, devre dışı bırakma veya tetikleme işlemleriyle atomik kalmasını sağlar. Bu değişikliğin bir parçası olarak vfio_cdx_irqs_cleanup() içindeki çağrı öncesi !cdx_irqs testini kaldırın: sağladığı optimizasyon, vfio_cdx_msi_disable() içindeki !config_msi erken dönüşüyle gereksiz hale gelir ve testin yerinde bırakılması, yeni kilidin koruması amaçlanan durumun senkronize edilmemiş bir okuması olur.
Nasıl düzeltilir
- linux linux_kernel6.12.86, 6.18.27, 7.0.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 6.10 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 6.12.86, 6.18.27, 7.0.4 |
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.
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.