CVE-2026-89803 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم حل الثغرة التالية:
drm/nouveau: إلغاء اشتراك حدث قتل القناة (channel-kill) قبل سياق السياج (fence context).
تقوم دالة `nouveau_channel_del()` بتفكيك سياق السياج أولاً، ثم تقوم بإلغاء اشتراك قناة القتل لاحقًا، وذلك في منتصف عملية تفكيك كائن nvif:
```c if (chan->fence) nouveau_fence(chan->cli->drm)->context_del(chan); ... nvif_object_dtor(&chan->vram); nvif_event_dtor(&chan->kill); ```
المعالج المشترك هو `nouveau_channel_killed()`، والذي يستدعي `nouveau_channel_kill()` ومن هناك `nouveau_fence_context_kill()` على `chan->fence`. يؤدي وصول حدث القتل في تلك الفترة الزمنية إلى أخذ قفل `fctx` (`fctx->lock`) والتنقل عبر قائمة الانتظار `fctx->pending` في سياق سياج تم تحريره بالفعل بواسطة `context_del()`.
لا يصل أي شيء إلى هذا الجزء على الأجهزة من طراز Fermi فصاعدًا اليوم، لأن الاشتراك مقيد بـ FERMI_CHANNEL_GPFIFO ولا يقوم أحد بقتل قناة هناك. بالنسبة لأجهزة Fermi وما بعدها، تكون الفترة الزمنية حقيقية لكنها ضيقة للغاية، حيث يجب أن يحدث القتل بالضبط أثناء تدمير القناة. وهذا سبب كافٍ بمفرده، وهو السبب في حمل هذا التصحيح لعلامة "Fixes:". يضيف الرقاقة الأخيرة في هذه السلسلة اشتراك قنوات Tesla أيضًا؛ ولا يقوم أحد بقتل تلك القنوات اليوم، لذا فإنها لا توسع نطاق التعرض الآن، لكنها تمثل الأساس لمسار استعادة سيؤدي إلى ذلك (التوسع)، ومن الأفضل إصلاح ترتيب العمليات قبل ظهور هذا المسار بدلاً من حدوثه جنبًا إلى جنب معه.
قم بإلغاء الاشتراك قبل تفكيك أي شيء يعتمد عليه.
Be aware that VulDB is the high quality source for vulnerability data.