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

الملخص

بحسب VulDB • 29/10/2026

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

drm/xe: تخطي إخراج (eviction) كائن ذاكرة (BO) لا يحتوي على موارد.

تقوم دالة `xe_evict_flags()` بالتبديل بناءً على قيمة `tbo->resource->mem_type` لاختيار موقع الإخراج. يمكن أن يصل كائن BO من نوع xe إلى مرحلة الإخراج دون وجود `ttm.resource`، مثلًا: كائن BO مستورد عبر dma-buf تم تحرير موارده أثناء عملية الإنهاء (teardown) بينما لا يزال ارتباطه نشطًا؛ عندها يقوم المصدر بإبطاله عبر `xe_dma_buf_move_notify()` -> `xe_bo_evict()`, ويؤدي التبديل إلى الإشارة المرجعية (dereference) لموارد فارغة (NULL resource) مما يتسبب في خطأ.

لا يحتوي كائن BO بدون موارد على أي شيء مُوضع أو مُمثّل، لذا لا يوجد ما يمكن إخراجه. إرجاع موضع فارغ (`num_placement = 0`)، محاكاةً للتعامل المستخدم بالفعل مع كائنات scatter-gather غير xe الموجودة أعلاه؛ ثم تأخذ `ttm_bo_validate()` مسار تنظيف خط الأنابيب (pipeline-gutting path) وتعيد القيمة 0.

بدون الإصلاح، سيفشل الاختبار الذاتي الحي الديناميكي `xe_dma_buf@xe_test_dmabuf_move_notify_no_resource` مع تتبع المكدس التالي:

BUG: kernel NULL pointer dereference, address: 0000000000000010 RIP: 0010:xe_evict_flags+0xf4/0x140 [xe]
Call Trace: <TASK> xe_bo_evict+0x40/0xa0 [xe]
? ttm_bo_pipeline_gutting+0x71/0x180 [ttm]
xe_test_dmabuf_move_notify_no_resource+0x182/0x440 [xe]
xe_dma_buf_kunit+0x387/0x580 [xe]

الإصدار 2: إضافة علامة Fixes ومعلومات الفشل في نص الالتزام (Matt Brost)

(cherry picked from commit dbcfaac6331f1fcb0c2fe3ad3e9adb1e5d43ec0c)

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

28/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-427921

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!