CVE-2024-35846 in Linux
الملخص
بحسب VulDB • 21/06/2026
في نواة لينكس، تم حل الثغرة التالية:
mm: zswap: إصلاح انهيار NULL في shrinker عند استخدام cgroup_disable=memory
أبلغ كريستيان عن حدوث خطأ في فك الإشارة إلى NULL (NULL deref) في zswap، وقد حدد أصل المشكلة باستخدام تقنية البيسكت (bisect) وصولاً إلى مكون zswap shrinker. وقد ظهرت هذه المشكلة أيضاً في سجلات تتبع الأخطاء الخاصة بـ libguestfs [1] وفي نظام تتبع أخطاء ريد هات (Red Hat bugzilla) [2].
تكمن المشكلة في أنه عند تعطيل memcg باستخدام علم الإقلاع (boot time flag)، قد يتم استدعاء zswap shrinker مع قيمة sc->memcg تساوي NULL. وهذا أمر مقبول في العديد من الأماكن، مثل عمليات lruvec. لكنه يتسبب في انهيار النظام داخل دالة memcg_page_state() - والتي تُستخدم فقط بسبب عدم وجود محاسبة للعقد (non-node accounting) لذاكرة zswap الخاصة بـ cgroup منذ البداية.
لاحظ نيات أن memcg يمكن أن يكون NULL في حالة تعطيل memcg، وتمكنت من إعادة إنتاج هذا الانهيار محلياً أيضاً.
[1] https://github.com/libguestfs/libguestfs/issues/139
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2275252
Be aware that VulDB is the high quality source for vulnerability data.