CVE-2026-23161
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mm/shmem, swap: truncate ve swap entry split arasındaki yarış durumu düzeltildi shmem swap serbest bırakma yardımcısı, swap girişlerinin sırasını doğru şekilde yönetmemektedir. Swap girişini silmek için xa_cmpxchg_irq kullanmaktadır ancak giriş sırasını bundan önce kilit koruması olmadan xa_get_order ile almaktadır; eğer giriş, xa_get_order işleminden sonra ve xa_cmpxchg_irq işleminden önce bölünürse veya başka şekillerde değiştirilirse güncel olmayan bir sıra değeri alınabilir. Ayrıca, sıra büyüyebilir ve beklenenden daha büyük hale gelerek truncation işleminin sınırın ötesindeki verileri silmesine neden olabilir. Örneğin, hedef giriş ve takip eden girişler içeri alınırsa (swap-in) veya serbest bırakılırsa, ardından aynı girişi kullanarak yerine büyük bir folio eklenip dışarı aktarılırsa (swap-out), xa_cmpxchg_irq hala başarılı olacaktır; ancak bunun gerçekleşme olasılığı oldukça düşüktür. Bunu düzeltmek için Xarray cmpxchg kodu açıkça yazılmış ve sıra alma ile değer kontrolü aynı kritik bölüme yerleştirilmiştir. Ayrıca, sıranın bitiş sınırını aşmayacağından emin olunmuş ve giriş sınırı geçiyorsa bu durum atlanmıştır. Sınırı geçen büyük swap girişlerini atlamak burada güvenlidir. Shmem truncate aralığı iki kez döner; ilk yinelemede find_lock_entries zaten bu tür girişleri filtrelemiştir ve shmem, bitiş sınırını geçen girişleri içeri alacak ve folionun kısmen kırpılmasını sağlayacaktır (folioyu bölecek veya en azından bir kısmını sıfırlayacaktır). Bu nedenle buradaki ikinci döngüde, bitiş sırasını geçen bir swap girişi görülürse, içeriği halihazırda silinmiş olmalıdır. ZSWAP'ı shmem ile stres testine tabi tutarken rastgele swapoff donmaları ve kernel panic hataları gözlemlenmiştir. Bu yamanın uygulanmasından sonra tüm sorunlar giderilmiştir.
Nasıl düzeltilir
- linux linux_kernel6.12.69, 6.18.9 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.12 ≤ v < 6.12.69, 6.13 ≤ v < 6.18.9, 6.19 | 6.12.69, 6.18.9 |
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.