CVE-2023-52980
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: block: ublk: taşmayı düzeltmek için queue_size genişletiliyor Taslak aşamasındaki SPDK ublk hedefi doğrulanırken, çok kuyruklu (multiqueue) ublk aygıtına büyük bir kuyruk derinliği (queue depth) atandığında, ublk hedefi tuhaf ve hatalı bir duruma girmekteydi. Yapılan inceleme ve hata ayıklama çalışmaları sonucunda, ublk sürücüsünde bir taşma hatası tespit edilmiştir. ublk_cmd.h dosyasında UBLK_MAX_QUEUE_DEPTH değeri 4096'dır; bu da her bir ublk kuyruk derinliğinin 4096 kadar büyük ayarlanabileceği anlamına gelir. Ancak bir ublk aygıtı için qd ayarlanırken, eğer qd 2728'den büyükse sizeof(struct ublk_queue) + depth * sizeof(struct ublk_io) işlemi 65535'ten daha büyük olacaktır. Bu durumda queue_size taşmakta ve ublk_get_queue() yanlış bir işaretçi konumuna referans vermektedir. ublk_queue öğelerinin hatalı içeriği, sınır dışı bellek erişimine (out-of-bounds memory access) yol açmaktadır. ublk_device içindeki queue_size "unsigned int" olarak genişletildi.
Nasıl düzeltilir
- linux linux_kernel6.1.11 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.1.11, 6.2 | 6.1.11 |
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.