CVE-2025-38141

Yüksek

Açıklama

Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: dm: dm_blk_report_zones düzeltildi dm_get_live_table() fonksiyonu NULL döndürdüğünde, dm_put_live_table() hiçbir zaman çağrılmıyordu. Ayrıca, bu fonksiyon çağrılırken md->zone_revalidate_map değerinin değişmesi mümkündür. Her zaman aynı değeri kullandığımızdan emin olmak için bu değer yalnızca bir kez okunmalıdır; aksi takdirde dm_put_live_table() çağrısı atlanabilir. Son olarak, md->zone_revalidate_map ayarlanmışken ve bir işlem bölge ekleme emülasyon kaynaklarını kurmak için blk_revalidate_disk_zones() fonksiyonunu çağırırken, belki de blkdev_report_zones_ioctl() tarafından tetiklenen başka bir işlemin dm_blk_report_zones() fonksiyonunu çağırması mümkündür. blk_revalidate_disk_zones() başarısız olursa, bu kaynaklar diğer işlem tarafından hala kullanılırken serbest bırakılabilir ve bu da bir serbest bırakıldıktan sonra kullanım (use-after-free) hatasına neden olur. blk_revalidate_disk_zones(), yalnızca ilk kez bölgeli bir dm-crypt tablosu kurulurken olduğu gibi, bölge ekleme emülasyon kaynakları başlangıçta kurulurken çağrılır. Sonraki tablo değişimleri md->zone_revalidate_map değerini ayarlamaz veya blk_revalidate_disk_zones() fonksiyonunu çağırmaz. Ancak, DM aygıtı askıya alınmışken yeni tablo (md->zone_revalidate_map tarafından referans verilen) ve yeni kuyruk sınırları kullanılarak çağrılmalıdır. dm_blk_report_zones() fonksiyonunun, henüz etkinleştirilmemiş bu tabloya erişmek için md->zone_revalidate_map kullanmasına izin verilmesi gereken blk_revalidate_disk_zones() üzerinden gelen bir çağrı ile, aygıt askıya alınmışken izin verilmemesi gereken ve bölge kaynaklarının şu anda blk_revalidate_disk_zones() fonksiyonunu çağıran işlem tarafından serbest bırakılabileceği için md->zone_revalidate_map kullanamayacak olan diğer tüm dm_blk_report_zones() çağrılarını ayırt edebilecek bir yönteme ihtiyaç vardır. Bu sorun, dm_revalidate_zones() içinde md->zone_revalidate_map değerini ayarlayan işlemi takip ederek ve dm_blk_report_zones() içinde yalnızca bu işlemin bunu kullanmasına izin vererek çözülmüştür.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux Kernel
Yayın3 Tem 2025
İlk görülme3 Tem 2025

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.12.34, 6.15.3 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.10 ≤ v < 6.12.34, 6.13 ≤ v < 6.15.36.12.34, 6.15.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.

CVE-2025-38141 · Linux Kernel · Dark Radar