CVE-2024-26712
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: powerpc/kasan: Sayfa hizalamasından kaynaklanan adres hatası düzeltildi kasan_init_region fonksiyonunda, k_start sayfa hizalı olmadığında, for döngüsünün başında k_cur = k_start & PAGE_MASK değeri k_start'tan küçük olur ve ardından `va = block + k_cur - k_start` ifadesi block'tan küçük hale gelir; bu durumda va adresi geçersizdir çünkü va ile block arasındaki bellek adres alanı memblock_alloc tarafından tahsis edilmemiştir, dolayısıyla daha sonra memblock_reserve tarafından rezerve edilmeyecek ve diğer yerler tarafından kullanılacaktır. Sonuç olarak, bellek üzerine yazma (memory overwriting) meydana gelir. Örneğin: int __init __weak kasan_init_region(void *start, size_t size) { [...] /* örneğin block(dcd97000) k_start(feef7400) k_end(feeff3fe) olsun */ block = memblock_alloc(k_end - k_start, PAGE_SIZE); [...] for (k_cur = k_start & PAGE_MASK; k_cur < k_end; k_cur += PAGE_SIZE) { /* for döngüsünün başında * block(dcd97000) va(dcd96c00) k_cur(feef7000) k_start(feef7400) * va(dcd96c00), block(dcd97000)'dan küçüktür, va geçersizdir */ void *va = block + k_cur - k_start; [...] } [...] } Bu nedenle, VA adresinin geçerliliğini sağlamak için memblock_alloc() işleminden önce k_start üzerinde sayfa hizalaması gerçekleştirilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 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 | 5.4 ≤ v < 5.10.210, 5.11 ≤ v < 5.15.149, 5.16 ≤ v < 6.1.79, 6.2 ≤ v < 6.6.18, 6.7 ≤ v < 6.7.6, 6.8 | 5.10.210, 5.15.149, 6.1.79, 6.6.18, 6.7.6 |
| debian debian_linux | 10.0 | — |
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.