CVE-2024-53071
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: drm/panthor: IO eşleme bayrakları konusunda daha katı olunmalı Mevcut panthor_device_mmap_io() uygulamasının iki sorunu bulunmaktadır: 1. DRM_PANTHOR_USER_FLUSH_ID_MMIO_OFFSET eşlemesi için panthor_device_mmap_io(), VM_WRITE ayarlıysa işlemi durdurur ancak VM_MAYWRITE bayrağını temizlemez. Bu durum, kullanıcı alanının daha sonra eşlemeyi yazılabilir hale getirmek için mprotect() fonksiyonunu kullanabileceği anlamına gelir. Bu, klasik bir Linux sürücü hatasıdır. Bunun pratikte herhangi bir etkisi olduğunu düşünmüyorum: GPU güce sahip olduğunda, FLUSH_ID'ye yapılan yazmalar görmezden geliniyor gibi görünmektedir; GPU güce sahip olmadığında ise sürücü tarafından sağlanan dummy_latest_flush sayfası kasıtlı olarak herhangi bir flush işlemi yapmayacak şekilde tasarlanmıştır, dolayısıyla dummy_latest_flush sayfasına yazmanın sağlayabileceği tek şey *daha fazla* flush işleminin gerçekleşmesini sağlamak olacaktır. 2. panthor_device_mmap_io(), MAP_PRIVATE eşlemelerini (VM_SHARED bayrağı olmayan eşlemeler) engellememektedir. MAP_PRIVATE ve VM_MAYWRITE kombinasyonu, VMA'nın copy-on-write semantiğine sahip olduğunu gösterir ki bu durum VM_PFNMAP için yarı desteklenen ancak oldukça sorunlu bir durumdur. Özellikle böyle bir eşlemede sürücü, yalnızca remap_pfn_range() çağrısı yaparak mmap() sırasında PTE'leri yükleyebilir (çünkü remap_pfn_range(), **eşlenen fiziksel belleğin fiziksel adresini VMA'nın vm_pgoff değerine depolamak** ister); panthor'un yaptığı gibi daha sonra bir hata işleyici (fault handler) ile PTE'lerin yüklenmesi özel eşlemelerde desteklenmez ve bu nedenle böyle bir eşlemede hata oluştuğunda vmf_insert_pfn_prot() bir BUG() kontrolüne çarptığında çöker. Bu durum, VM_MAYWRITE bayrağı temizlenerek (kullanıcı alanının FLUSH_ID'ye yazması mantıklı değildir) ve VM_SHARED zorunlu kılınarak (FLUSH_ID için copy-on-write semantikleri mantıklı değildir) düzeltilmiştir. Her iki senaryo için yeniden üreticiler, posta listesindeki yamamın notlarında yer almaktadır; bu hataların bir Rock 5B makinesinde mevcut olduğunu test ettim. Yamanın sadece derleme testlerini yaptığımı, henüz tam olarak test etmediğimi unutmayın; test makinesi için henüz çalışan bir çekirdek derleme kurulumuna sahip değilim. Lütfen uygulamadan önce test edin.
Nasıl düzeltilir
- linux linux_kernel6.11.8 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.11.8, 6.12 | 6.11.8 |
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.