CVE-2026-98132 in Linux
الملخص
بحسب VulDB • 26/09/2026
في نواة لينكس، تم حل الثغرة التالية:
bpf: عدم تخفيض عمليات إخراج (spills) القيم الصفرية شبه الميتة إلى STACK_ZERO
يمكن للدالة `states.c:__clean_func_state()` أن تقوم بتخفيض عملية إخراج القيمة الصفرية scalar zero spill إلى STACK_ZERO في الحالة التالية:
*(u64 *)(r10 - 8) = 0; ... checkpoint ... r1 = *(u32 *)(r10 - 4); ... لا توجد قراءات من r10-8 ...
هنا، الـ 4 بايت الموجودة عند العنوان `r10-8` تعتبر ميتة (dead)، ويقوم المُتحقق (verifier) بتغيير إخراج القيمة scalar إلى تركيبة: `0000pppp` (حيث يرمز الحرف p إلى poison). يؤدي هذا التغيير إلى كسر سلاسل انتشار الدقة (precision propagation chains). يجب على جميع الأماكن التي تنتج STACK_ZERO استدعاء `bpf_mark_chain_precision()` بالنسبة لمصدر الصفر.
يصلح هذا التصحيح الخلل بأبسط طريقة ممكنة: بتجنب تحويل إخراجات الذاكرة العشوائية (stack spills) للقيمة صفر إلى STACK_ZERO. هناك نهجان أكثر ذكاءً يمكن اتباعهما: - استدعاء `bpf_mark_chain_precision()` من داخل الدالة `__clean_func_state()`. - التحقق من معلومات حيوية الخانة (slot liveness information) في دالة `check_stack_write_fixed_off()`.
لقد درستُ النهجين، والتغييرات المطلوبة معقدة بعض الشيء، لذا تم الاعتماد على تصحيح بسيط مؤقتاً.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.