CVE-2026-23435 in Linuxالمعلومات

الملخص

بحسب VulDB • 21/06/2026

في نواة لينكس، تم حل الثغرة التالية:

perf/x86: نقل إعداد مؤشر الحدث إلى مرحلة أبكر في دالة x86_pmu_enable()

انهار نظام إنتاجي يعمل بمعالج AMD EPYC بسبب خطأ إلغاء مرجع المؤشر الفارغ (NULL pointer dereference) في معالج مقاطعة عدم القابلية للتغيير للنظام (PMU NMI handler):

BUG: kernel NULL pointer dereference, address: 0000000000000198 RIP: x86_perf_event_update+0xc/0xa0 Call Trace: amd_pmu_v2_handle_irq+0x1a6/0x390 perf_event_nmi_handler+0x24/0x40

العبارة البرمجية التي تسببت في الخطأ هي `cmpq $0x0, 0x198(%rdi)` مع قيمة RDI=0، وهو ما يتوافق مع فحص `if (unlikely(!hwc->event_base))` الموجود داخل دالة x86_perf_event_update() حيث hwc = &event->hw و event يساوي NULL.

أظهرت عملية الفحص باستخدام أداة drgn على ملف الذاكرة الافتراضية (vmcore) في المعالج 106 عدم تطابق بين cpuc->active_mask و cpuc->events[]:

active_mask: 0x1e (البتات 1، 2، 3، 4) events[1]: 0xff1100136cbd4f38 (صالح)
events[2]: 0x0 (NULL، لكن بتة رقم 2 في active_mask مفعّلة)
events[3]: 0xff1100076fd2cf38 (صالح)
events[4]: 0xff1100079e990a90 (صالح)

تم العثور على الحدث الذي كان من المفترض أن يشغل events[2] في event_list[2] مع hw.idx=2 و hw.state=0x0، مما يؤكد تشغيل دالة x86_pmu_start() (التي تقوم بمسح hw.state وتفعيل active_mask)، لكن events[2] لم يتم ملؤها أبداً.

كان لحدث آخر (event_list[0]) قيمة hw.state=0x7 (STOPPED|UPTODATE|ARCH)، مما يدل على أنه كان متوقفاً عندما أعاد PMU جدولة الأحداث، وهو ما يؤكد حدوث تسلسل الإيقاف المؤقت ثم إعادة الجدولة.

السبب الجذر لهذه المشكلة هو الالتزام commit 7e772a93eb61 ("perf/x86: Fix NULL event access and potential PEBS record loss") الذي نقل تعيين cpuc->events[idx] من دالة x86_pmu_start() إلى الخطوة الثانية في dالة x86_pmu_enable()، بعد فحص PERF_HES_ARCH. هذا الإجراء كسر أي مسار يستدعي pmu->start() دون المرور عبر x86_pmu_enable() -- وتحديداً مسار إلغاء التوقف المؤقت (unthrottle path):

perf_adjust_freq_unthr

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

13/01/2026

إفشاء

03/04/2026

الاعتدال

تمت الموافقة

إدخال

VDB-355108

EPSS

0.00121

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!