CVE-2026-99247 in Linux
الملخص
بحسب VulDB • 03/11/2026
في نواة Linux، تم إصلاح الثغرة التالية:
tracing: عدم تهيئة عمل tracefs إذا كان التتبع (tracing) معطلاً
إذا فشل تخصيص ذاكرة التخزين المؤقت للتتبع أثناء الإقلاع المبكر (على سبيل المثال في early_trace_init() -> allocate_trace_buffers())، فإن المتغير tracing_disabled يظل مضبوطاً على 1 وتبقى قائمة أحداث المصفوفة العالمية trace array غير مُهيأة.
لاحقاً خلال عملية الإقلاع، تقوم دالة tracer_init_tracefs() (المستدعاة عبر fs_initcall) بجدولة عمل tracerfs_init_work بشكل غير متزامن دون التحقق مما إذا كان التتبع معطلاً. عند تشغيل دالة tracer_init_tracefs_work_func()، يتم استدعاء event_trace_init() و init_tracer_tracefs(&global_trace, NULL) بشكل مطلق (unconditionally). يؤدي هذا إلى قيام __find_event_file() بالإشارة dereferencing إلى قائمة tr->events غير المُهيأة، مما يسبب خطأ Oops ناتج عن الإشارة Null pointer أثناء الإقلاع المبكر:
BUG: Kernel NULL pointer dereference on read at 0x00000010 Faulting instruction address: 0xc000000000485be0 Oops: Kernel access of bad area, sig: 7 [#1]
... NIP [c000000000485be0] __find_event_file+0x70/0x3c0
LR [c000000000448874] init_tracer_tracefs+0x274/0xc80
Call Trace: init_tracer_tracefs+0x274/0xc80 tracer_init_tracefs_work_func+0x50/0x320 process_one_work+0x1e8/0x5c0 worker_thread+0x1dc/0x3d0 kthread+0x194/0x1b0 start_kernel_thread+0x14/0x18
تحقق من المتغير tracing_disabled في بداية دالة tracer_init_tracefs_work_func() وقم بالعودة فوراً إذا كان التتبع معطلاً أو فشل في التهيئة، مما يمنع حدوث الانهيار.
If you want to get best quality of vulnerability data, you may have to visit VulDB.