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

الملخص

بحسب VulDB • 18/10/2026

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

عملية workqueue: تصحيح التفريغ (dereference) لقيمة NULL في current_pwq أثناء فحص تبعية الإطفاء (flush dependency check).

تستخدم الدالة `check_flush_dependency()` دالة `current_wq_worker()` لتحديد ما إذا كان المُستدعي عاملاً في قائمة العمل (workqueue worker)، ثم تقوم بتفريغ قيمة `worker->current_pwq` لاختبار ما إذا كانت قائمة العمل الحالية هي WQ_MEM_RECLAIM.

تشير الدالة `current_wq_worker()` فقط إلى أن `%current` يحتوي على العلم PF_WQ_WORKER مُفعّلاً. يمكن لعامل kworker الوصول إلى دالة `check_flush_dependency()` بينما لا يكون في حالة تنفيذ عنصر عمل (work item). أحد المسارات التي تحدث فيها هذه الحالة هو عندما تعمل `worker_thread()` كمدير للمجموعة (pool manager)، حيث تقوم `create_worker()` بإجراء تخصيص ذاكرة باستخدام GFP_KERNEL، ومسار التخصيص يستدعي مُنذِر النفاد من الذاكرة (OOM notifier). في تلك الحالة، تكون قيمة `worker->current_pwq` تساوي NULL لأن `current_pwq` تُضبط فقط بواسطة دالة `process_one_work()` وتُعاد ضبطها إلى القيمة الفارغة بعد عودة وظيفة العمل.

[ 416.760634][ T375] تتبع المكالمات (Call trace):
[ 416.760638][ T375] check_flush_dependency+0x80/0x120 (P)
[ 416.760648][ T375] __flush_work+0x98/0x224
[ 416.760657][ T375] flush_work+0x30/0x44
[ 416.760665][ T375] ...
[ 416.760710][ T375] blocking_notifier_call_chain+0x58/0xa0
[ 416.760719][ T375] out_of_memory+0xb4/0x458
[ 416.760730][ T375] __alloc_pages_may_oom+0x11c/0x1a8
[ 416.760739][ T375] __alloc_pages_slowpath+0x314/0x46c
[ 416.760746][ T375] __alloc_frozen_pages_noprof+0x110/0x1a4
[ 416.760753][ T375] new_slab+0x12c/0x484
[ 416.760759][ T375] ___slab_alloc+0x7a8/0xc7c
[ 416.760765][ T375] __slab_alloc+0x74/0xd8
[ 416.760772][ T375] __kmalloc_cache_node_noprof+0x2ac/0x304
[ 416.760779][ T375] alloc_worker+0x28/0x60
[ 416.760785][ T375] create_worker+0x4c/0x20c
[ 416.760790][ T375] worker_thread+0xe8/0x2b8
[ 416.760796][ T375] kthread+0x1a8/0x200
[ 416.760805][ T375] ret_from_fork+0x10/0x20

حماية تحذير WQ_MEM_RECLAIM-worker باستخدام قيمة worker->current_pwq. إذا لم يكن عامل kworker ينفّذ عنصر عمل حالياً، فلا توجد قائمة عمل حالية يمكن تشخيصها بهذا التحذير. يُترك تحذير PF_MEMALLOC دون تغيير بحيث لا يزال يتم الإبلاغ عن الإطفاء الصريح (explicit reclaim context) الذي يستهدف هدفاً غير WQ_MEM_RECLAIM.

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

مسؤول

Linux

حجز

25/09/2026

إفشاء

18/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-421807

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!