CVE-2025-38722
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: habanalabs: export_dmabuf() fonksiyonundaki UAF hatası düzeltildi Bir dosya referansı tanımlayıcı tablosuna eklendiği anda, başka bir iş parçacığı bu dosyayı kapatabilirdi. Sadece söz konusu tanımlayıcıyı kullanıcı alanına döndürdüğümüz durumlar için bu kabul edilebilirdir (bu bir yarış durumudur ancak kullanıcı alanı düzeyinde gerçekleştiği için çekirdeğin yapabileceği bir şey yoktur). Ancak, fd_install() işlemini, kapatma sırasında yok edilecek nesnelere (struct file yapısının kendisi veya ->release() tarafından yok edilen herhangi bir öğe) erişimle takip edersek, bir UAF durumu oluşur. dma_buf_fd(), bir tanımlayıcı ayırma ve fd_install() işlemlerinin birleşimidir. habanalabs export_dmabuf() bunu çağırır ve ardından kapatma ile birlikte yok edilen nesnelere erişmeye devam eder. Özellikle, bizim dosyamızın ->release() işlemi kapsamında serbest bırakılacak olan başka bir struct file için ek bir referans alır; buradaki "serbest bırakılacak" ifadesi aslında "zaten serbest bırakılmış olabilir" anlamına gelmektedir. Bu sorun, her şeyden önce tanımlayıcıyı ayırarak ve fd_install() işlemini yalnızca tüm kurulum tamamlandığında gerçekleştirerek düzeltilmiştir. Yan fayda olarak, artık dosyanın zaten oluşturulduğu ancak temel dosyaya olan referansın (ve aynı zamanda ->dmabuf_export_cnt vb.) henüz alınmadığı hata çıkış durumuna sahip değiliz; dma_buf_fd()'nin aksine, fd_install() başarısız olamaz.
Nasıl düzeltilir
- linux linux_kernel6.12.43, 6.15.11, 6.16.2 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 ≤ v < 6.12.43, 6.13 ≤ v < 6.15.11, 6.16 ≤ v < 6.16.2, 6.17 | 6.12.43, 6.15.11, 6.16.2 |
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.