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

الملخص

بحسب VulDB • 28/08/2026

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

drm/xe/userptr: الاحتفاظ بـ notifier_lock للكتابة في مسار حقن الاختبار

عندما تكون CONFIG_DRM_XE_USERPTR_INVAL_INJECT=y، فإن دالة xe_pt_svm_userptr_pre_commit() تستدعي vma_check_userptr() مع أخذ svm notifier_lock للقراءة. يؤدي حقن الاختبار إلى استدعاء vma_check_userptr() لـ xe_vma_userptr_force_invalidate()، والتي تمرر القيمة drm_gpusvm_ctx.in_notifier=true إلى xe_vma_userptr_do_inval(). يخبر هذا العلم دالة drm_gpusvm_unmap_pages() بأن المتصل يمسك بالفعل بـ notifier_lock للكتابة ويكتفي بالتحقق من الوضع. وبما أن المتصل يمسكه فعلياً للقراءة، فإن التحقق (assertion) يفشل:

WARNING: drivers/gpu/drm/drm_gpusvm.c:1669 at \ drm_gpusvm_unmap_pages+0xd4/0x130 [drm_gpusvm_helper]
Call Trace: xe_vma_userptr_do_inval+0x40d/0xfd0 [xe]
xe_vma_userptr_invalidate_pass1+0x3e6/0x8d0 [xe]
xe_vma_userptr_force_invalidate+0xde/0x290 [xe]
vma_check_userptr.constprop.0+0x1c6/0x220 [xe]
xe_pt_svm_userptr_pre_commit+0x6a3/0xc60 [xe]
... xe_vm_bind_ioctl+0x3a0a/0x4480 [xe]

احصل على notifier_lock للكتابة في مرحلة pre-commit عند تفعيل خيار Kconfig للحقن، وذلك عبر مساعدات جديدة هي xe_pt_svm_userptr_notifier_lock() و _unlock(). أعد تسمية دالة xe_svm_assert_held_read() إلى xe_svm_assert_held_read_or_inject_write() لضمان التحقق من الوضع الصحيح تحت كل تكوين بناء. تحافظ إصدارات الإنتاج (CONFIG_DRM_XE_USERPTR_INVAL_INJECT=n) على سلوك وضع القراءة الحالي حرفياً دون تغيير.

(cherry picked from commit 80ccbd97ffee8ad2e73167d826fe7be548364365)

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

28/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-396525

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!