CVE-2024-56669
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: iommu/vt-d: ATS devre dışı bırakılmadan önce önbellek etiketlerini kaldırın Mevcut uygulama, önbellek etiketlerini ATS devre dışı bırakıldıktan sonra kaldırmakta, bu da potansiyel bellek sızıntılarına ve kernel çökmelerine yol açmaktadır. Özellikle, CACHE_TAG_DEVTLB tipi önbellek etiketleri, domain serbest bırakıldıktan sonra bile listede kalmaya devam edebilmekte ve bu durum bir serbest bırakıldıktan sonra kullanım (use-after-free) koşuluna neden olmaktadır. Bu sorun, farklı PF'lerden gelen birden fazla VF'nin vfio-pci aracılığıyla tek bir kullanıcı alanı sürecine aktarıldığında belirginleşmektedir. Bu gibi durumlarda kernel, şu mesajlarla çökebilir: BUG: kernel NULL pointer dereference, address: 0000000000000014 PGD 19036a067 P4D 1940a3067 PUD 136c9b067 PMD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 74 UID: 0 PID: 3183 Comm: testCli Not tainted 6.11.9 #2 RIP: 0010:cache_tag_flush_range+0x9b/0x250 Call Trace: <TASK> ? __die+0x1f/0x60 ? page_fault_oops+0x163/0x590 ? exc_page_fault+0x72/0x190 ? asm_exc_page_fault+0x22/0x30 ? cache_tag_flush_range+0x9b/0x250 ? cache_tag_flush_range+0x5d/0x250 intel_iommu_tlb_sync+0x29/0x40 intel_iommu_unmap_pages+0xfe/0x160 __iommu_unmap+0xd8/0x1a0 vfio_unmap_unpin+0x182/0x340 [vfio_iommu_type1] vfio_remove_dma+0x2a/0xb0 [vfio_iommu_type1] vfio_iommu_type1_ioctl+0xafa/0x18e0 [vfio_iommu_type1] Sorunu düzeltmek için cache_tag_unassign_domain() fonksiyonunu iommu_disable_pci_caps() fonksiyonundan öncesine taşıyın.
Nasıl düzeltilir
- linux linux_kernel6.12.6 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.6, 6.13 | 6.12.6 |
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.