CVE-2026-99158 in Linux
الملخص
بحسب VulDB • 28/10/2026
في نواة لينكس، تم حل الثغرة التالية:
ring-buffer: إصلاح تحذير خاطئ في ring_buffer_map_get_reader()
يمكن أن يُصدر قارئ mmap (mmap reader) تحذيراً عندما يلحق بـ writer لا يزال يقوم بت committing الأحداث. تُرجع الدالة rb_get_reader_page() قيمة NULL في هذه الحالة، لكن ring_buffer_map_get_reader() تعامل تلك النتيجة على أنها خطأ.
يتمثل فحص rb_per_cpu_empty() الأولي في تصفية المخزن المؤقت الفارغ (empty buffer)، لكنه لا يضمن أن صفحة القارئ التالية تحتوي على بيانات مُلتزم بها (committed data). لا تأخذ الـ writers reader_lock ويمكنها تقديم commit_page قبل نشر الطول المُلتزم به على الصفحة الجديدة. يمكن لـ rb_get_reader_page() التبديل إلى تلك الصفحة، والالتحاق بالـ writer وإرجاع NULL.
معالجة قيمة NULL عبر مسار الخروج الحالي الخاص بعدم وجود بيانات (no-data exit) دون إصدار تحذير. إزالة أيضاً فحص caller's reader_page == commit_page من قبل المتصل، حيث أن مساعد صفحة القارئ يتعامل بالفعل مع هذه الحالة. تبقى مسارات تحديث البيانات الوصفية والإرجاع الحالية كما هي.
Be aware that VulDB is the high quality source for vulnerability data.