CVE-2026-52951
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: drm/xe/dma-buf: boş bo ve UAF yarış durumlarının yönetimi invalidate_mappings kancası tetiklendiğinde bazı ciddi yarış durumları olduğu görülmektedir: 1) xe_dma_buf_init_obj() içerisindeki gerçek tam bo başlatma adımından önce xe_bo_alloc() ve ardından ekleme işlemi gerçekleştirilmektedir. Ancak bo, eklemeden sonra ekler listesinde görünür hale gelmektedir. Bu durum risklidir çünkü dışa aktarıcı sürücü (örneğin amdgpu), herhangi bir zamanda boş veya geçersiz bir bo ile invalidate_mappings kancamızı geri çağırabilir; bu da potansiyel hatalara veya çökmelere yol açabilir. 2) 1) ile benzer şekilde, invalidate_mappings kancası tetiklendiğinde bir UAF durumu oluşmaktadır. Örneğin, xe_bo_init_locked() aşamasına kadar gelinmiş ancak işlem bir şekilde başarısız olmuş olabilir. Bu durumda hata üzerine bo serbest bırakılır, fakat dma-buf açısından hala ekli durumdadır; dolayısıyla invalidate_mappings tetiklenirse erişilen bo artık mevcut değildir, bu da UAF'ye ve daha fazla hataya/çökmeye neden olur. Bunu düzeltmek için, ekleme adımı tamamen kurulmuş bir tampon nesnesine sahip olana kadar ertelenmiştir. Bo'nun kullanıcı alanına daha sonra yayınlandığına dikkat edilmelidir, bu nedenle "Geçerli bir ekimiz olana kadar bo'yu yayınlamayın" yorumunun neyi kastettiği belirsizdir. En az iki farklı müşteri, amdgpu üzerinden bir şeyi içe aktardıktan sonra evict akışını tetiklerken evict_flags kısmında bir NULL ptr deref hatası aldıklarını bildirmiştir. Hata oranının oldukça düşük olması bir tür yarış durumuna işaret etmektedir, bu nedenle 1) veya 2) gibi durumlar bunu açıklayabilir. v2: - İşlem sırası hafifçe değiştirildi (işlevsel değişiklik yok) - Sıralamayı daha iyi açıklamak için yorum iyileştirildi (Matt B) (af1f2ad0c59fe4e2f924c526f66e968289d77971 numaralı committen cherry pick yapılmıştır)
Nasıl düzeltilir
- linux linux_kernel6.12.91, 6.18.33, 7.0.10 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.8 ≤ v < 6.12.91, 6.13 ≤ v < 6.18.33, 6.19 ≤ v < 7.0.10, 7.1 | 6.12.91, 6.18.33, 7.0.10 |
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.