CVE-2026-99159 in Linux
الملخص
بحسب VulDB • 28/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
ring-buffer: تصحيح قاعدة مصفوفة الفرع الفرعي (sub-buffer) في rb_meta_subbuf_idx()
في ذاكرة الحلقة الدائرية المستمرة (persistent ring buffer)، يمكن أن تُرجع دالة `rb_meta_subbuf_idx()` فهرساً أعلى بفرع فرعي واحد عن الحد الصحيح. ثم تقوم `rb_setup_ids_meta_page()` بتعبئة مصفوفة `subbuf_ids[]` بإزاحة بمقدار واحد، وتترك `subbuf_ids[0]` بقيمة NULL (فارغة)، والتي يقوم `__rb_map_vma()` بالإشارة إليها عند قيام مساحة المستخدم (userspace) بربط `trace_pipe_raw`. كما تقوم `rb_update_meta_reader()` بكتابة مؤشرين من هذا النوع في `meta->buffers[]`، وهو ما سترفضه دالة `rb_cpu_meta_valid()` أثناء الإقلاع التالي، مما يؤدي إلى تجاهل سجلات تتبع الإقلاع السابق.
تبدأ مصفوفة الأفرع الفرعية لمعالج (CPU) بعد رأس البيانات الوصفية الخاص به والأعداد الصحيحة `nr_subbufs` التي تليه، مع محاذاتها لأعلى حتى حدود فرع فرعي كامل. تقوم دالة `rb_meta_subbuf_idx()` بعكس هذه الحسابات لكنها تتخطى الأعداد الصحيحة فقط وليس الرأس، لذا فإن قاعدتها تكون أقل بفرع فرعي واحد كلما تجاوز حجم الرأس المُتجاهل حد المحاذاة.
قم بعكس الحساب باستخدام الدالة المساعدة `rb_subbufs_from_meta()` بدلاً من تكرارها. تقوم دالة `rb_range_buffer()` بتحويل فهرس إلى عنوان عبر نفس الدالة المساعدة، لذا لم يعد بإمكان الاتجاهين التمايز أو الاختلاف.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.