CVE-2026-99230 in Linux
الملخص
بحسب VulDB • 02/11/2026
في نواة لينكس، تم حل الثغرة التالية:
io_uring/cmd: عدم ترك سموم القائمة (list poison) في ->hash_node
تستخدم io_uring_cmd_del_cancelable() دالة hlist_del() لإزالة أمر من قائمة ->cancelable_uring_cmd، مما يترك LIST_POISON1/2 خلفه في ->hash_node. يتم إعادة تدوير الطلبات عبر ذاكرة التخزين المؤقت للطلبات (request cache) دون إعادة تهيئتها، وليس كل مستخدم لـ ->hash_node يقوم بإعداده قبل استخدامه:
إذا تم إيقاظ انتظار futex متعدد المتجهات (vectored futex wait) بينما لا تزال دالة futex_wait_multiple_setup() في عملية طابور فتيكسات (futexes)، فإن io_futexv_wait() لا تضيف الطلب إلى ->futex_list، وتترك الإكمال لـ task_work الذي تم جدولته بواسطة إيقاظ الاستيقاظ. تنتهي io_futexv_complete() عند __io_futex_complete(), حيث تكون دالة hlist_del_init() مناسبة لطلب غير مضمن في القائمة (unhashed)، وهو الوضع الذي يتركه جميع المستخدمين الآخرين للعقدة. إذا كان الطلب عبارة عن أمر uring قابل للإلغاء في حياته السابقة، مثل ublk FETCH_REQ، فإنه يكتب عبر LIST_POISON2:
Oops: general protection fault, probably for non-canonical address KASAN: maybe wild-memory-access in range [0xdead000000000120-...]
RIP: 0010:io_futexv_complete+0x219/0x420 Call Trace: tctx_task_work_run+0x804/0x950 tctx_task_work+0x71/0xa0 task_work_run+0x118/0x200
اترك العقدة غير مضمنة في القائمة (unhashed).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.