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

الملخص

بحسب VulDB • 25/09/2026

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

x86/alternatives: استبعاد text poking ضد change_page_attr()

من وقت لآخر، يمكن ملاحظة الخطأ (BUG) التالي في كود التصحيح alternatives الخاص بـ x86 [0]:

> kernel BUG at arch/x86/kernel/alternative.c:2576! > Oops: invalid opcode: 0000 [#1] SMP NOPTI
> CPU: 0 UID: 0 PID: 355 Comm: (udev-worker) Not tainted 7.1.3-1-default #1 PREEMPT(full) openSUSE Tumbleweed 8c1795b03ec64f997e57a8ad38b1161e3b98da64 > Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS unknown 02/02/2022 > RIP: 0010:__text_poke+0x2aa/0x450 > Call Trace: > <TASK> > smp_text_poke_batch_finish+0x2a7/0x320 > __static_call_transform+0xb7/0x220 > arch_static_call_transform+0x5b/0xb0 > __static_call_init+0xe9/0x270 > static_call_module_notify+0x11f/0x150 > notifier_call_chain+0x61/0xe0 > blocking_notifier_call_chain_robust+0x63/0xc0 > load_module+0x1c92/0x20c0 > init_module_from_file+0xd8/0x140 > idempotent_init_module+0x100/0x2f0 > __x64_sys_finit_module+0x71/0xe0 > do_syscall_64+0xe1/0x610 > entry_SYSCALL_64_after_hwframe+0x76/0x7e

والذي يتطابق مع الخطأ التالي (BUG_ON()) في alternative.c:

/* * إذا حدث خطأ ما، يجب أن ينهار النظام لأن مسارات الاسترداد غير مُنفذة. */ BUG_ON(!pages[0] || (cross_page_boundary && !pages[1]));

يمكن أن يحدث هذا إذا فشلت دالة vmalloc_to_page() لأي سبب كان. يمكن أن يحدث ذلك إذا تنافس text poking مع CPA، مما قد يؤدي إلى انهيار جداول الصفحات (أو كسر صفحات PMD العملاقة). لا يمثل مشكلة لمعظم مستخدمي vmalloc_to_page() (لأنهم يملكون نطاق vmalloc وحدهم)، ولكن عندما يكون CONFIG_ARCH_HAS_EXECMEM_ROX=y، فإن وحدات متعددة تملك نطاق vmalloc واحدًا لـ execmem، ويمكنها استدعاء set_memory_*() بالتوازي عليه. يمكن أن يحدث هذا التنافس مع __text_poke ويسبب فوضى في vmalloc_to_page().

تم إصلاح المشكلة عن طريق استبعاد CPA باستخدام قفل القراءة mmap الخاص بـ init_mm.

[ dhansen: ترتيب شهادات "Signed-off-by". كان تدفق الكود الفعلي هنا كالتالي:
Pedro=>Lorenzo=>Mike=>Me وهو ما يعكس سلسلة شهادات Signed-off-by الآن. أعتقد أن Mike ببساطة استلم تحديث Lorenzo لرسالة Pedro من الرابط ]

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

مسؤول

Linux

حجز

25/09/2026

إفشاء

25/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-409975

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!