CVE-2026-93197

Belirsiz

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: memcg: yeniden ebeveynleme sırasında LRU boyut muhasebesini kopyalamak yerine taşıyın Bir bellek cgroup'u çevrim dışı bırakıldığında, LRU folioları ebeveyne yeniden atanır. lruvec_reparent_lru(), alt grubun listelerini ebeveyninkilerle birleştirir ve alt grubun bölge başına düşen lru_zone_size[] değerini ebeveyne ekler; ancak alt grubun kopyasını hiçbir zaman temizlemez, bu nedenle boyut taşınmak yerine kopyalanmış olur. lru_gen_reparent_memcg() aynı işlemi MGLRU için yapar. Ebeveyn doğru kalır ve devraldığı foliolara tam olarak karşılık gelen kredi tanımlanır. Güncelliğini yitirmiş değer ise alt grupta kalır ve hiçbir şey bunu düzeltmez: folio->memcg_data artık ebeveyne çözümlendiği için, bu foliolara yönelik her sonraki update_lru_size() çağrısı oraya iletilir. Ömrünü tamamlayan cgroup'lar hemen serbest bırakılmaz ve mem_cgroup_iter() hala bunları taramaya devam eder, bu nedenle üzerlerinde shrink_lruvec() çağrılmaya devam eder. get_scan_count(), lruvec_lru_size() aracılığıyla hayalet sayacı okur ve ardından tarama döngüsü, ölü cgroup yaşadığı sürece boş bir listeye karşı SWAP_CLUSTER_MAX adımlarıyla nr[] üzerinden işlem yapmaya devam eder. MGLRU altında bunun yerine MGLRU tarayıcısı çalışır, ancak count_shadow_nodes() tüm NR_LRU_LISTS toplamını lruvec_lru_size() üzerinden hesaplar ve gölge düğüm limitini aynı şekilde aşırı bütçelendirir. 251 GiB'lık bir ana makinede yapılan her mz->lru_zone_size[] taramasında, hiçbir listede bulunmayan folioları tanımlayan 380 sayaç bulundu: 57 cgroup genelinde 124777314 sayfa, 476 GiB (makine RAM'inin 1,89 katı). Bunların tamamı CSS_DYING değeri ayarlanmış ve CSS_ONLINE değeri temizlenmiş memcg'lerdeydi ve ebeveyn/çocuk çiftleri bayt bazında özdeş boyutlar raporladı. LRU_UNEVICTABLE boyutunun da taşınması gerekir. Listesi kasıtlı olarak birleştirilmez çünkü lruvec_init() başlığı zehirler - tahliye edilemeyen LRU hayalidir ve foliolar asla üzerine dizilmez - ancak boyut lruvec_add_folio()/lruvec_del_folio() tarafından tutulur ve bu foliolar bundan böyle ebeveyne kaydedilir. Bu durum, bf4ade7dbd76 ("memcg: keep folio's objcg same as its node") commit'ine bağlıdır ve ondan önce geri port edilmemelidir. Bu değişmezlik olmadan, bir folionun objcg'si başka bir düğüme ait olabilir; dolayısıyla zaten ebeveynin listesine eklenmiş bir folio, objcg'nin düğümü memcg_reparent_objcgs()'nin daha sonraki bir yinelemesinde yeniden ebeveynlenene kadar hala çocuğun lruvec'ine çözümlenebilir. Alt grubun sayacının erken temizlenmesi, lruvec_del_folio()'nun bu değeri eksiltmesine ve mem_cgroup_update_lru_size() içindeki WARN_ONCE()/VM_BUG_ON() hatasının tetiklenmesine neden olur.

ÖnemBelirsiz
CVSS—
İstismar olasılığı—
ÜrünLinux
Yayın17 Eyl 2026
İlk görülme17 Eyl 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux007bc1842317bb99f5f6205afede940f951674c2, 0e0ac326c511d514817cc7b6d7741afd59098ce2 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux07a6e9a2c199fed361f528781284d56771d0016f ≤ v < 007bc1842317bb99f5f6205afede940f951674c2, 07a6e9a2c199fed361f528781284d56771d0016f ≤ v < 0e0ac326c511d514817cc7b6d7741afd59098ce2, 7.1007bc1842317bb99f5f6205afede940f951674c2, 0e0ac326c511d514817cc7b6d7741afd59098ce2

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.

Intelligence 360 paketinde

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.

CVE-2026-93197 · Linux · Dark Radar