CVE-2025-38062

Yüksek

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: genirq/msi: iommu_cookie yerine IOMMU IOVA değerini doğrudan msi_desc içinde saklayın MSI mesaj adresleri için IOMMU çevirisi, zaman açısından ayrılmış iki aşamalı bir işlemdi: 1) iommu_dma_prepare_msi(): Bir MSI kesmesi tahsis edildiğinde, IOVA adresini içeren bir cookie işaretçisi MSI tanımlayıcısında saklanır. 2) iommu_dma_compose_msi_msg(): Bu cookie işaretçisi, çevrilmiş bir mesaj adresi hesaplamak için kullanılır. Bu durum, iki adım arasında geçerli kalması gereken cookie içinde saklanan işaretçi için doğal bir yaşam süresi sorunu oluşturmaktadır. Ancak, irq katmanında bu yaşam süresini korumaya yardımcı olacak herhangi bir kilitleme mekanizması bulunmamaktadır. Günümüzde bu işlem, MSI kesmeleri programlanırken iommu alanının değiştirilmediği varsayımı altında çalışmaktadır. Kernel içindeki normal DMA API kullanıcıları için bu durum doğrudur; çünkü iommu alanı, sürücü probe edilmeden önce eklenir ve bir sürücü ekliyken değiştirilemez. Klasik VFIO type1 de başlangıçtan sonra "konteynır" değişikliğini desteklemediğinden, VFIO çalışırken iommu alanının değiştirilmesini engelliyordu. Ancak, iommufd bunu geliştirerek VFIO işlemi sırasında iommu alanının değiştirilebilmesine olanak sağlamıştır. Bu durum, kullanıcı alanının VFIO_DEVICE_ATTACH_IOMMUFD_PT (iommu_attach_group() fonksiyonunu çağırır) ve VFIO_DEVICE_SET_IRQS (iommu_dma_compose_msi_msg() fonksiyonunu çağırır) işlemlerini doğrudan yarıştırmasına (race condition) potansiyel olarak izin verir. Bu durum, hem cookie işaretçisinin hem de MSI çeviri yolundaki kilitlenmemiş iommu_get_domain_for_dev() çağrısının serbest bırakıldıktan sonra kullanım (UAF) sorununa yol açmasına neden olabilir. Cookie işaretçisi kaldırılarak MSI cookie UAF sorunu düzeltilmiştir. Çevrilmiş IOVA adresi zaten iommu_dma_prepare_msi() sırasında bilinmektedir ve değiştirilemez. Bu nedenle, basitçe MSI tanımlayıcısında bir tam sayı olarak saklanabilir. iommu_get_domain_for_dev() ile ilgili diğer UAF sorunu, IOMMU grup mutex'i kullanılarak "iommu: Make iommu_dma_prepare_msi() into a generic operation" yamasıyla ele alınacaktır.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın18 Haz 2025
İlk görülme18 Haz 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.1.141, 6.6.93, 6.12.31, 6.14.9 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.2 ≤ v < 6.1.141, 6.2 ≤ v < 6.6.93, 6.7 ≤ v < 6.12.31, 6.13 ≤ v < 6.14.96.1.141, 6.6.93, 6.12.31, 6.14.9
debian debian_linux11.0—

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-2025-38062 · Linux Kernel · Dark Radar