CVE-2026-43303
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mm/page_alloc: free_pages_prepare() fonksiyonunda page->private temizleniyor Çeşitli alt sistemler (slub, shmem, ttm vb.) page->private değerini kullanmakta ancak sayfaları serbest bırakmadan önce bu değeri temizlememektedir. Bu sayfalar daha sonra yüksek dereceli sayfalar olarak tahsis edilip split_page() aracılığıyla bölündüğünde, kuyruk sayfaları güncelliğini yitirmiş page->private değerlerini korumaktadır. Bu durum, swap alt sisteminde bir serbest bırakıldıktan sonra kullanım (use-after-free) hatasına yol açmaktadır. Swap kodu, yeni tahsis edilen sayfaların page->private == 0 olduğunu varsayarak swap sayım devamlılığını takip etmek için page->private değerini kullanır. Güncelliğini yitirmiş değerler mevcut olduğunda, swap_count_continued() fonksiyonu devam listesinin geçerli olduğunu hatalı bir şekilde varsayar ve LIST_POISON değerleri içeren başlatılmamış page->lru üzerinde yineleme yaparak sistem çökmesine neden olur: KASAN: maybe wild-memory-access in range [0xdead000000000100-0xdead000000000107] RIP: 0010:__do_sys_swapoff+0x1151/0x1860 Bu sorun, free_pages_prepare() fonksiyonunda page->private temizlenerek; önceki kullanımdan bağımsız olarak tüm serbest bırakılan sayfaların temiz bir duruma sahip olması sağlanarak giderilmiştir.
Nasıl düzeltilir
- linux linux_kernel6.18.16, 6.19.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.18.1 ≤ v < 6.18.16, 6.19 ≤ v < 6.19.6, 5.18 | 6.18.16, 6.19.6 |
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.