CVE-2026-89757
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: mm/mglru: gereksiz tahliye edilemez (unevictable) folio işlemleri düzeltildi ve kaldırıldı sort_folio(), artık tahliye edilemeyen ancak hala bir nesil listesinde bulunan folioları taşımak için bir kestirme yola sahiptir. Ancak bu kestirme yol hatalıdır. PG_lru kullanım kuralına uymamakta ve daha ciddi bir soruna yol açmaktadır. Tahliye edilemez foliolar lists[LRU_UNEVICTABLE] üzerinde zincirlenmezler; böylece folio->lru, folio->mlock_count değerini tutmak için yeniden kullanılabilir (lruvec_init() içindeki yoruma bakınız). Bu nedenle lruvec_add_folio() onlar için list_add() işlemini atlar ve bir folionu tahliye edilemez hale getiren diğer tüm yerler mlock_count değerini açıkça başlatır: lru_add() bunu 0 olarak ayarlar, __mlock_folio() ve __mlock_new_folio() ise !!folio_test_mlocked(folio) olarak ayarlar. sort_folio() hiçbir şeyi ayarlamaz ve hemen üzerindeki lru_gen_del_folio() fonksiyonu list_del() aracılığıyla folio->lru değerini zaten bozmuş olabilir; bu durumda mlock_count, 0x122 yani 290 olarak okunan LIST_POISON2 ile çakışır. Sonuç kullanıcı tarafından görülebilir durumdadır. munlock sırasında, __munlock_folio() bu hatalı sayacı azaltır, değerin hala sıfır olmadığını görür ve PG_mlocked bayrağını temizlemeden önce işlemi sonlandırır; böylece folio tahliye edilemez kalmaya devam eder ve Mlocked muhasebesi, folio serbest bırakılana kadar şişmiş halde kalır. Kestirme yol ayrıca LRU bayraklarına yanlış sırada dokunmaktadır. PG_lru hala ayarlanmışken lru_gen_del_folio() fonksiyonunu çağırır, bu nedenle eşzamanlı bir folio_test_clear_lru() (örneğin sıkıştırma, folio_isolate_lru()) işlemi, nesil listesinden çoktan çıkarılmış bir folio üzerinde başarılı olabilir ve bu da beklenmedik davranışlara yol açabilir. Bu sorun, onları ortak foliolar olarak izole ederek ve genel daraltma (shrink) yolunun onları ayıklamasına izin vererek düzeltilmiştir. Bu, klasik LRU davranışı ile uyumludur ve genel tahliye veya izolasyon davranışı üzerinde görünür bir etkisi olmamalıdır. Herhangi bir performans endişesi de bulunmamaktadır; böyle bir folio bu işlemden bir kez geçer ve ardından nesil listelerinden tamamen çıkarılır.
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| microsoft azl3_kernel_6.6.150.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.152.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.157.1-1 | Aralık belirtilmemiş | — |
| microsoft azl3_kernel_6.6.159.1-1 | Aralık belirtilmemiş | — |
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.