CVE-2026-64525
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: xfrm: policy_bydst RCU sinxronizasiyasını hər bir netns üçün olan .exit-dən .pre_exit-ə köçürün include/net/net_namespace.h faylındakı struct pernet_operations sənədləşdirilməsi .exit idarəedicilərində bloklayıcı RCU primitivlərinin istifadəsinə qarşı açıq şəkildə xəbərdarlıq edir: synchronize_rcu() kimi bloklayıcı RCU primitivlərindən istifadə edən çıxış metodları exit_batch vasitəsilə tətbiq edilməlidir. [...] Mümkün olduğu hallarda synchronize_rcu()-dan tamamilə qaçının. Qeyd edin ki, pre_exit() və exit() kombinasiyasından istifadə etmək olar, çünki çağırışlar arasında synchronize_rcu() təmin edilir. xfrm_policy_fini() bunu pozur: o, policy_bydst heş cədvəllərini azad etməzdən əvvəl synchronize_rcu() funksiyasını çağırır (beləliklə, azad etmə zamanı heç bir RCU oxuyucusu keçid prosesində olmur), lakin bu, hər namespace üçün bir dəfə xfrm_net_ops.exit-dən işə düşür — buna görə də N sayda namespace-in cleanup_net() prosesi N sayda tam RCU lütf dövrünü ardıcıl olaraq yerinə yetirir. Sənədləşdirilmiş pre_exit/exit bölgüsündən istifadə edin. Siyasətin təmizlənməsini (və ondan asılı olan workqueue boşaltmalarını) yeni .pre_exit idarəedicisinə köçürün; bundan sonra xfrm_policy_fini() .exit-də işə düşür və cleanup_net() tərəfindən iki mərhələ arasında təmin edilən synchronize_rcu_expedited()-dən sonra heş cədvəllərini azad edir. Bu, hər dəstə üçün O(N) əvəzinə O(1) RCU lütf dövrləri təmin edir. Saniyədə təxminən 13 dəfə davamlı olaraq unshare(CLONE_NEWNET) edən iş yükü ilə Linux 6.18 versiyasında müşahidə edilmişdir: cleanup_net() və netns_wq xilasedici kthread-nin hər ikisi xfrm_policy_fini()'nin synchronize_rcu() funksiyasında ilişib qalmışdır, təmizləmə növbəsində 300 mindən çox struct net yığılmışdır, 256 CPU-lu hostlarda /proc/meminfo-da Percpu göstəricisi 130+ GB-a yüksəlmiş və nəticədə memcg OOM xətaları baş vermişdir. setup_net və __put_net saylarının balanslaşdırılmış olması refcount sızmasının olmadığını sübut etmişdir.
Necə düzəltmək olar
- Linux Linuxbca6386dc08750fc7cdcbc7683473748ba3114b9, 91cc13978ab0bc6f669139f53e7e613a860d10e0, d14ae8ef88c2c6590e107db61b6adce148cec7b3, 3e52417318473782012b236d0325bf7d2266a597, 6.12.93, 6.18.35, 6.2, 6.7, 6.20 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| Linux Linux | 438b1f668ad58f46ce699bb48e4698a7839e3f9e ≤ v < bca6386dc08750fc7cdcbc7683473748ba3114b9, 3733fce2871c9bca9dd18a1a23b1432ea215a094 ≤ v < 91cc13978ab0bc6f669139f53e7e613a860d10e0, 069daad4f2ae9c5c108131995529d5f02392c446 ≤ v < d14ae8ef88c2c6590e107db61b6adce148cec7b3, 069daad4f2ae9c5c108131995529d5f02392c446 ≤ v < 3e52417318473782012b236d0325bf7d2266a597, b2faee12538b5b008eaef65a4201eb29cb5cefb3, b66920a3348c0f63ba18365248fa21fbf0b3a937, 33a3149dd81a1e2f52b80ee1e0fc380b39f3d028, 6.12.83 ≤ v < 6.12.93, 6.18.24 ≤ v < 6.18.35, 6.1.191 ≤ v < 6.2, 6.6.136 ≤ v < 6.7, 6.19.14 ≤ v < 6.20, 7.0 | bca6386dc08750fc7cdcbc7683473748ba3114b9, 91cc13978ab0bc6f669139f53e7e613a860d10e0, d14ae8ef88c2c6590e107db61b6adce148cec7b3, 3e52417318473782012b236d0325bf7d2266a597, 6.12.93, 6.18.35, 6.2, 6.7, 6.20 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.