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

الملخص

بحسب VulDB • 16/09/2026

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

bpf: إصلاح الحلقة اللانهائية في دالة pcpu_freelist_push عند وجود معالج واحد فقط (CPU)

يمكن أن تؤدي دالة __pcpu_freelist_push() إلى حدوث حلقة لا نهائية عندما يكون هناك معالج واحد ممكن (possible CPU)، وأثناء إعادة الدخول إلى dfuncion pcpu_freelist_push() من خلال مقاطعة غير قابلة للجدولة (NMI) بينما يحتفظ سياق المقطوع بقفل قائمة الانتظار الحرة الخاصة بذلك المعالج.

بعد فشل المسار السريع الخاص بالمعالج الحالي، تقوم حلقة الاستبدال بالمرور عبر قناع المعالجات الممكنة (cpu_possible_mask) مع تخطي المعالج الحالي. في حالة تكوين CONFIG_SMP=n، أو عندما تكون نواة SMP محدودة بمعالج واحد ممكن باستخدام nr_cpus=1 أو possible_cpus=1، لا توجد معالجات أخرى ممكنة للفحص. وبالتالي، فإن الحلقة لا تحاول الحصول على أي قفل ولا يمكنها إحراز تقدم.

تم رصد المكدس التالي في نظام UP (وحدة معالجة مركزية واحدة):

سياق NMI: pcpu_freelist_push free_htab_elem htab_map_delete_elem [برنامج BPF لحدث الأداء]
__perf_event_overflow perf_event_nmi_handler exc_nmi

السياق المقطوع: __pcpu_freelist_push pcpu_freelist_push free_htab_elem htab_map_delete_elem [برنامج BPP لنقطة التتبع الخام/sys_enter]
__bpf_trace_sys_enter do_syscall_64

تكشف دالة raw_res_spin_lock() عن الحصول المتكرر على القفل من نفس المعالج وتعيد قيمة -EDEADLK، لكن حلقة الاستبدال اللاحقة لا تحتوي على رأس مرشح في نظام به معالج واحد ممكن.

استعادة الرأس الاحتياطي الإضافي الذي كان موجوداً قبل تحويل rqspinlock. الحفاظ على المسار السريع الحالي للمعالج، ثم محاولة المعالجات الممكنة الأخرى وأخيراً الرأس الإضافي. يسمح الرأس الإضافي بإجراء عملية push (دفع) لا يمكن أن تفشل دون فقدان عنصر مُخصص مسبقاً، مما يتيح إحراز تقدم عندما يكون رأس قائمة الانتظار الحرة الخاص بالمعالج الوحيد محتجزاً من قبل السياق المقطوع.

أيضاً، يتم فحص الرأس الاحتياطي الإضافي من مسار pop (سحب) بحيث يمكن إعادة استخدام العقد الموضوعة هناك.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405796

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!