CVE-2025-21739

Yüksek

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: scsi: ufs: core: başlatma hatasında serbest bırakıldıktan sonra kullanım (use-after-free) sorununu düzelt ve yolları kaldır devm_blk_crypto_profile_init(), ilişkili (platform-) aygıt serbest bırakıldığında çalışacak bir temizleme işleyicisi kaydeder. UFS için kripto özel verileri ve işaretçiler, ufs_hba'nın 'struct ufs_hba::crypto_profile' veri yapısının bir parçası olarak saklanır. Bu yapı, temel ufshcd ve dolayısıyla Scsi_host tahsisinin bir parçası olarak ayrılır. Sürücü serbest bırakıldığında veya ufshcd_pltfrm_init() içerisindeki hata yönetimi sırasında, bu yapı yukarıdaki kripto çağrısıyla ilişkili olan (platform-) aygıt serbest bırakılmadan önce ufshcd_dealloc_host() kapsamında serbest bırakılır. Bu aygıt serbest bırakıldığında, kripto temizleme kodu yeni serbest bırakılmış olan 'struct ufs_hba::crypto_profile' yapısını kullanarak çalışır. Bu durum bir serbest bırakıldıktan sonra kullanım (use-after-free) durumuna yol açar: Çağrı izi (Call trace): kfree+0x60/0x2d8 (P) kvfree+0x44/0x60 blk_crypto_profile_destroy_callback+0x28/0x70 devm_action_release+0x1c/0x30 release_nodes+0x6c/0x108 devres_release_all+0x98/0x100 device_unbind_cleanup+0x20/0x70 really_probe+0x218/0x2d0 Diğer bir ifadeyle, başlatma kod akışı şöyledir: platform-device probe ufshcd_pltfrm_init() ufshcd_alloc_host() scsi_host_alloc() struct ufs_hba tahsisi scsi-host aygıtlarının oluşturulması devm_blk_crypto_profile_init() platform-device kullanılarak temizleme işleyicisinin devm kaydı ve ufshcd_pltfrm_init() hata yönetimi sırasında veya sürücü kaldırılırken: ufshcd_dealloc_host() scsi_host_put() put_device(scsi-host) struct ufs_hba serbest bırakılması put_device(platform-device) kripto temizleme işleyicisi Bu serbest bırakıldıktan sonra kullanım sorununu gidermek için, ufshcd_dealloc_host() fonksiyonuna açıkça çağrı gerektirmeden, ufshcd imhasında temel SCSI aygıtını otomatik olarak temizleyecek bir devres eylemi kaydedecek şekilde ufshcd_alloc_host() değiştirilmiştir. Bu sayede: * Kripto profili ve ufs_hba'ya ait diğer tüm kaynaklar, SCSI'den önce yok edilir (çünkü daha sonra kaydedilmişlerdir). * Yan etki olarak tc-dwc-g210-pci.c remove() kısmındaki bir bellek sızıntısı (memleak) engellenmiştir. * Artık ihtiyaç duyulmadığı için EXPORT_SYMBOL_GPL(ufshcd_dealloc_host) tamamen kaldırılabilir. * ufshcd_alloc_host() kullanan gelecekteki hiçbir sürücü temizleme işlemini eklemeyi unutamaz.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın27 Şub 2025
İlk görülme27 Şub 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.12.14, 6.13.3 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.12 ≤ v < 6.12.14, 6.13 ≤ v < 6.13.3, 6.146.12.14, 6.13.3

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.

Intelligence 360 paketinde

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.