CVE-2025-39792
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: dm: Yazma BIO'larını her zaman zoned cihaz sınırlarına göre bölün Zone append emülasyonu gerektiren herhangi bir zoned DM hedefi, blok katmanı zone write plugging özelliğini kullanacaktır. Bu durumda, DM hedef sürücüleri BIO'ları dm_accept_partial_bio() kullanarak bölmemelidir; çünkü bu işlem, kuyruk dondurma işlemleriyle potansiyel olarak kilitlenmelere (deadlock) yol açabilir. Zone append işlemlerini emüle etmek için kullanılan normal yazma işlemleri de hedef sürücü tarafından bölünemez, aksi takdirde BIO sektörü kullanılarak geçersiz bir yazılan sektör değeri döndürülür. Zoned DM hedef sürücülerinin bu tür hatalı BIO bölmelerinden kaçınabilmesi için, büyük BIO'ların hedefin map() fonksiyonuna iletilmeden önce bölündüğünden emin olmalıyız; böylece eşlenen cihaz için belirlenen sınırların aşılmaması garanti altına alınır. dm-crypt ve dm-flakey, zoned cihazları destekleyen ve dm_accept_partial_bio() kullanan tek hedef sürücülerdir. dm-crypt durumunda, bu fonksiyon BIO'ları dahili max_write_size sınırına göre bölmek için kullanılır (bu durum farklı bir yamada kaldırılacaktır). Ancak, crypt_alloc_buffer() bir BIO içinde yalnızca BIO_MAX_VECS (256) vektöre kadar izin veren bir bioset kullandığından, ayarlanmamış olan ve varsayılan olarak BLK_MAX_SEGMENTS (128) değerini alan dm-crypt cihazı max_segments sınırı gözetilmeli ve yazma BIO'ları buna göre bölünmelidir. dm-flakey durumunda ise zone append emülasyonu gerekmediği için blok katmanı zone write plugging kullanılmaz ve BIO bölme işlemi gerekmez. dm_split_and_process_bio() içerisinde bio_split_to_limits() çağrısını zorlamak için dm_zone_bio_needs_split() fonksiyonunu, blok katmanı yardımcı fonksiyonu olan bio_needs_zone_write_plugging() özelliğini kullanacak şekilde değiştirin. Bu, DM hedef sürücülerinin zoned DM cihazlarındaki yazma işlemleri için dm_accept_partial_bio() kullanmaktan kaçınmasını sağlar.
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 | 6.10 ≤ v < 6.12.43, 6.13 ≤ v < 6.15.11, 6.16 ≤ v < 6.16.2 | 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.