CVE-2026-99209 in Linuxthông tin

Tóm tắt

Bởi VulDB • 28/10/2026

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

drm/xe: bỏ qua việc giải phóng (eviction) một BO không có tài nguyên

Hàm xe_evict_flags() dựa vào tbo->resource->mem_type để chọn vị trí đặt lại cho quá trình eviction. Một BO của xe có thể đạt đến trạng thái cần eviction mà không có ttm.resource, ví dụ như một BO dma-buf được nhập (imported) whose resource đã bị giải phóng trong giai đoạn teardown trong khi attachment vẫn còn hoạt động: nhà xuất bản sau đó sẽ làm mất hiệu lực nó thông qua xe_dma_buf_move_notify() -> xe_bo_evict(), và câu lệnh switch sẽ truy cập vào con trỏ NULL của tài nguyên, gây ra lỗi (fault).

Một BO không có resource thì không có gì được đặt hoặc ánh xạ, do đó không có gì để giải phóng. Trả về một vị trí đặt rỗng (num_placement = 0), mô phỏng theo cách xử lý đã được áp dụng cho các BO scatter-gather non-xe ngay phía trên; sau đó ttm_bo_validate() sẽ đi vào đường dẫn pipeline-gutting và trả về 0.

Nếu không có bản sửa lỗi, bài kiểm tra tự động động (dynamic live selftest) xe_dma_buf@xe_test_dmabuf_move_notify_no_resource sẽ thất bại với ngăn xếp gọi hàm như dưới đây:

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]

v2: Thêm tag Fixes và thông tin thất bại vào văn bản commit (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.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

28/10/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

Do you need the next level of professionalism?

Upgrade your account now!