CVE-2025-71130
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: drm/i915/gem: i915_gem_do_execbuffer içinde eb.vma dizisini sıfırla başlat eb yapısı ilk kez kurulduğunda eb.vma dizisini 0 değerleriyle başlat. Özellikle bu, eb->vma[i].vma işaretçilerini NULL olarak ayarlar, temizliği basitleştirir ve aşağıda açıklanan hatayı ortadan kaldırır. eb_lookup_vmas() yürütülmesi sırasında eb->vma dizisi art arda struct eb_vma nesneleriyle doldurulur. Bu süreç, başarısız olabilecek eb_add_vma() çağrısını içerir; ancak başarısızlık durumunda bile, o anda işlenen arabellek için eb->vma[i].vma ayarlanır. eb_add_vma() başarısız olursa, eb_lookup_vmas() bir hatayla döner ve bu, karışıklığı temizlemek için eb_release_vmas() çağrısını tetikler. eb_lookup_vmas() herhangi bir (muhtemelen ilk olmayan) arabelleğin işlenmesi sırasında başarısız olabileceğinden, eb_release_vmas() arama fonksiyonunun hangi noktada başarısız olduğunu bilmek için bir arabelleğin vma'sının NULL olup olmadığını kontrol eder. eb_lookup_vmas() içinde, yardımcı fonksiyon eb_lookup_vma() veya eb_validate_vma() başarısız olursa eb->vma[i].vma NULL olarak ayarlanır. i915_gem_object_userptr_submit_init() başarısız olursa eb->vma[i+1].vma NULL olarak ayarlanır; bu noktada mevcut olanın eb_release_vmas() tarafından temizlenmesi gerekir, bu nedenle bir sonraki ayarlanır. eb_add_vma() başarısız olursa, ne mevcut ne de sonraki vma NULL olarak ayarlanır; bu, Closes etiketinde bağlantısı verilen sorunda açıklanan bir NULL başvuru hatasının kaynağıdır. eb_lookup_vmas() içine girildiğinde, vma işaretçileri NULL yerine slab zehir değerine ayarlanır. Bu, gerçek arama için önemli değildir, çünkü zaten üzerine yazılır; ancak eb_release_vmas() fonksiyonu yalnızca NULL'u durma değeri olarak tanır, bu nedenle ara başarısızlık durumunda işaretçiler ilerledikçe NULL olarak ayarlanır. Bu yama, başarısızlık sırasında bunu manuel olarak ele almak yerine, başlangıçta hepsini NULL ile doldurma yaklaşımını değiştirir. (08889b706d4f0b8d2352b7ca29c2d8df4d0787cd commit'inden cherry pick)
Nasıl düzeltilir
- linux linux_kernel6.1.160, 6.6.120, 6.12.64, 6.18.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 | 5.16.1 ≤ v < 6.1.160, 6.2 ≤ v < 6.6.120, 6.7 ≤ v < 6.12.64, 6.13 ≤ v < 6.18.4, 5.16, 6.19 | 6.1.160, 6.6.120, 6.12.64, 6.18.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.