CVE-2025-68823
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: ublk: bölüm tablosu okunurken meydana gelen kilitlenme (deadlock) düzeltildi Bir işlem (udev gibi), ublk blok aygıtını açtığında (örneğin bdev_open() aracılığıyla bölüm tablosunu okumak için), bir kilitlenme [1] meydana gelebilir: 1. bdev_open(), disk->open_mutex kilidini alır. 2. İşlem, bölüm tablosunu okumak için ublk arka ucuna okuma G/Ç isteği gönderir. 3. __ublk_complete_rq() fonksiyonunda, blk_update_request() veya blk_mq_end_request() fonksiyonları bio->bi_end_io() geri çağırmalarını çalıştırır. 4. Eğer bu durum ublk blok aygıtının dosya tanımlayıcısı üzerinde fput() işlemini tetiklerse, çalışma mevcut görevin görev işine (task work) ertelenebilir (bkz. fput() uygulaması). 5. Bu durum nihayetinde aynı bağlamdan blkdev_release() fonksiyonunu çağırır. 6. blkdev_release(), disk->open_mutex kilidini tekrar almaya çalışır. 7. Kilitlenme: Aynı görev, halihazırda tuttuğu bir mutex için bekler. Çözüm, blk_update_request() ve blk_mq_end_request() fonksiyonlarını alt yarılar (bottom halves) devre dışı bırakılmış şekilde çalıştırmaktır. Bu, blkdev_release() fonksiyonunun mevcut görev iş bağlamı yerine çekirdek iş kuyruğu (kernel work-queue) bağlamında çalışmasını zorunlu kılar; böylece ublk sunucusunun ilerlemesine izin verilir ve kilitlenme önlenir. [axboe: ublk içindeki yorum yeniden yazıldı]
Nasıl düzeltilir
- linux linux_kernel6.6.124, 6.12.70, 6.18.3 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.0 ≤ v < 6.6.124, 6.7 ≤ v < 6.12.70, 6.13 ≤ v < 6.18.3, 6.19 | 6.6.124, 6.12.70, 6.18.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.
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.