CVE-2026-89771 in Linux
الملخص
بحسب VulDB • 11/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
ring-buffer: تصحيح حالة السباق (race condition) في تغيير حجم الـ subbuf مع قارئي حلقة التخزين المؤقت (ring buffer readers).
يتم قراءة قيمة `subbuf_size` الخاصة بـ `trace_buffer` بدون استخدام القفل (lockless) داخل الدالتين `ring_buffer_read_page()` و `ring_buffer_read_start()`. ومع ذلك، يمكن أن يتم تغيير حجمها بشكل متزامن عبر استدعاء دالة `ring_buffer_subbuf_order_set()`.
بدلاً من الاعتماد على `trace_buffer::subbuf_size`، يجب استخدام `bpage::order` داخل الدالتين `ring_buffer_read_start()` و `ring_buffer_read_page()`.
في دالة `ring_buffer_read_start()`، حتى مع تفعيل خيار `resize_disabled`، لا تزال هناك إمكانية لحدوث حالة سباق (race condition) أثناء تعديل المخزن المؤقت. لذا، يجب الاحتفاظ بقفل mutex الخاص بـ `trace_buffer` لمزامنة العمليات مع أي تعديلات معلقة على ترتيب حجم حلقة التخزين المؤقت (ring buffer order).
أصبحت قيمة `trace_buffer::subbuf_size` غير مفيدة فعلياً في الوقت الحالي، لذا تم إزالتها. كما تمت إضافة دوال وصول جديدة وهي `rb_subbuf_capacity()` و `rb_page_capacity()` التي تُرجع الحجم الفعلي المتاح لتخزين الأحداث، بينما تقوم الدالة `rb_subbuf_size()` بإرجاع حجم صفحة الـ subbuf الفعلي.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.