CVE-2026-80606 in Linuxthông tin

Tóm tắt

Bởi VulDB • 28/08/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

drm/xe/userptr: Giữ notifier_lock ở chế độ ghi cho đường dẫn kiểm tra inject (tiêm lỗi).

Khi CONFIG_DRM_XE_USERPTR_INVAL_INJECT=y, hàm xe_pt_svm_userptr_pre_commit() gọi vma_check_userptr() với notifier_lock của svm đang được giữ ở chế độ đọc. Việc tiêm lỗi thử nghiệm khiến vma_check_userptr() gọi đến xe_vma_userptr_force_invalidate(), dẫn tới xe_vma_userptr_do_inval() với drm_gpusvm_ctx.in_notifier=true. Cờ này báo cho drm_gpusvm_unmap_pages() rằng caller đã giữ notifier_lock ở chế độ ghi và chỉ xác nhận (assert) chế độ đó. Tuy nhiên, do caller thực tế đang giữ nó ở chế độ đọc, nên lệnh kiểm tra sẽ kích hoạt:

WARNING: drivers/gpu/drm/drm_gpusvm.c:1669 tại \ 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]

Hãy lấy (acquire) notifier_lock ở chế độ ghi trong giai đoạn pre-commit khi cấu hình inject Kconfig được bật, thông qua các hàm trợ giúp mới là xe_pt_svm_userptr_notifier_lock() và _unlock(). Đổi tên xe_svm_assert_held_read() thành xe_svm_assert_held_read_or_inject_write() để nó xác nhận đúng chế độ dưới mỗi cấu hình bản dựng. Các bản dựng sản xuất (CONFIG_DRM_XE_USERPTR_INVAL_INJECT=n) giữ nguyên hành vi ở chế độ đọc như cũ, từng bit một.

(cherry picked from commit 80ccbd97ffee8ad2e73167d826fe7be548364365)

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

26/08/2026

Tiết lộ

28/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Interested in the pricing of exploits?

See the underground prices here!