CVE-2024-56593
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: wifi: brcmfmac: brcmf_sdiod_sglist_rw() fonksiyonundaki NULL pointer dereference nedeniyle oluşan oops hatası düzeltildi Bu yama, yüksek bir 'sd_sgentry_align' değeri uygulandığında (örneğin 512) ve pkt kuyruğundan çok sayıda kuyruğa alınmış SKB gönderildiğinde brcmfmac üzerinde meydana gelen bir NULL pointer dereference hatasını düzeltir. Sorun, önceden tahsis edilmiş sgtable içindeki giriş sayısıdır; bu sayı nents = max(rxglom_size, txglom_size) + max(rxglom_size, txglom_size) >> 4 + 1 şeklindedir. Varsayılan [rt]xglom_size=32 verildiğinde bu değer aslında 35'tir ve bu miktar çok küçüktür. En kötü durumda, pkt kuyruğu 64 SKB ile sonuçlanabilir. Bu durum, tailroom kısmının tail_pad'i tutmak için yeterli olmadığı durumlarda her orijinal SKB için yeni bir SKB eklendiğinde meydana gelir. Her SKB için en az bir sg girişi gereklidir. Dolayısıyla, brcmf_sdiod_sglist_rw içerisindeki "skb_queue_walk döngüsü" sonunda sg girişlerini tüketebilir. Bu durum sg_next fonksiyonunun NULL döndürmesine neden olur ve bu da oops hatasına yol açar. Yama, en kötü durumu yönetebilmek için nents değerini max(rxglom_size, txglom_size) * 2 olarak ayarlar. Bu arada, bu işlem yalnızca 64-35=29 * 16 (veya CONFIG_NEED_SG_DMA_LENGTH aktifse 20) = 464 ek bayt bellek gerektirir.
Nasıl düzeltilir
- linux linux_kernel5.4.287, 5.10.231, 5.15.174, 6.1.120, 6.6.66, 6.12.5 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 | v < 5.4.287, 5.5 ≤ v < 5.10.231, 5.11 ≤ v < 5.15.174, 5.16 ≤ v < 6.1.120, 6.2 ≤ v < 6.6.66, 6.7 ≤ v < 6.12.5 | 5.4.287, 5.10.231, 5.15.174, 6.1.120, 6.6.66, 6.12.5 |
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.