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

الملخص

بحسب VulDB • 03/11/2026

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

io_uring: إيقاظ مستمعي الحلقة (ring pollers) لأعمال المهمة المحلية (local task_work)

عند استخدام IORING_SETUP_DEFER_TASKRUN، تُرتب عمليات الإكمال كعمل محلي، ولا تتحول إلى عناصر قائمة قوائم التعقيد (CQEs) إلا عندما يدخل المرسل (submitter) إلى النواة للانتظار بحثًا عن أحداث. بالنسبة للتطبيق الذي يكتشف عبر poll() أو epoll على وصف الملف للحلقة (ring fd) متى يحين الوقت للقيام بذلك، فإن io_uring_poll() يبلغ بـ EPOLLIN إذا كان هناك عمل محلي معلق.

هذا الأمر لا يفيد إلا إذا كان العمل موجودًا في وقت الاستدعاء. عند إضافة DEFER_TASKRUN، كانت الدالة io_req_local_work_add() تستدعي io_cqring_wake()، والتي كانت تتعامل مع المهام النائمة داخل poll(). ثم حصلت آلية Polling على طابور انتظار خاص بها وهو ->poll_wq، وتم استبدال الإيقاظ في io_req_local_work_add() بإيقاع المرسل مباشرة. ومنذ ذلك الحين، يتم إيقاظ ->poll_wq فقط عند الالتزام بـ CQEs، والذي يُنفَّذ بالنسبة لهذه الحلقة بواسطة المهمة نفسها التي تنتظر أن تُخبر:

المرسل (submitter) الإكمال (completion) poll(ring_fd) io_uring_poll() // لا يوجد شيء بعد schedule() io_req_local_work_add() // ->cq_wait_nr: لا أحد ينتظر // ينام على

إيقاظ ->poll_wq عند وضع الإدخال الأول في قائمة العمل. مثلما هو الحال مع eventfd، يجب عدم القيام بذلك فورًا إذا تم ترتيب العمل من خلال معالج إيقاظ (wake up handler)، لأن سلسلة عمليات الإيقاظ قد تعود إلى طابور الانتظار الذي يتم الاحتفاظ بقفل الخاص به. استخدم استدعاء RCU في تلك الحالة، مع مرجع للحلقة (ring).

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

مسؤول

Linux

حجز

25/09/2026

إفشاء

03/11/2026

الاعتدال

تمت الموافقة

إدخال

VDB-430254

EPSS

0.00000

KEV

لا

النشاطات

منخفض

القطاع

Energy, Police, ...

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!