CVE-2026-64419
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: mm/shrinker: shrinker_debugfs_count_show() içinde RCU kilidi tutulmamalıdır Memcg farkındalıklı bir shrinker'ın debugfs "count" dosyasının okunması, bir RCU okuma tarafı kritik bölümü içinde uykuya geçebilir: BUG: sleeping function called from invalid context at kernel/cgroup/rstat.c:421 RCU nest depth: 1, expected: 0 css_rstat_flush mem_cgroup_flush_stats zswap_shrinker_count shrinker_debugfs_count_show shrinker_debugfs_count_show(), ->count_objects() geri çağrısını rcu_read_lock() altında çağırır. zswap geri çağrısı, memcg istatistiklerini css_rstat_flush() aracılığıyla boşaltır ve bu işlem uykuya geçebileceğinden RCU altında çalıştırılmamalıdır. Burada RCU kilidine gerek yoktur. mem_cgroup_iter() dahili olarak RCU alır ve bir css referansı tutan bir memcg döndürür (sonraki yinelemede veya mem_cgroup_iter_break() tarafından bırakılır), böylece memcg bu kilit olmadan da canlı kalır. Shrinker, açık debugfs dosyası tarafından canlı tutulur: shrinker_free(), debugfs girdilerini debugfs_remove_recursive() aracılığıyla kaldırır ve bu işlev, call_rcu(..., shrinker_free_rcu_cb) çağrısından önce devam eden okuyucuların tükenmesini bekler. Kardeş "scan" işleyicisi zaten uykuya geçebilen ->scan_objects() geri çağrısını RCU bölümü olmadan çağırır. rcu_read_lock()/rcu_read_unlock() kaldırılmıştır.
Nasıl düzeltilir
- linux linux_kernel6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 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.0 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.96, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4 | 6.1.178, 6.6.145, 6.12.96, 6.18.39, 7.1.4 |
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.