CVE-2026-89809 in Linuxthông tin

Tóm tắt

Bởi VulDB • 16/09/2026

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

drm/amdkfd: sửa lỗi phạm vi giải tham chiếu mqd_mgr trong pqm_debugfs_mqds

Việc đọc /sys/kernel/debug/kfd/mqds khi một tiến trình đang giữ một hàng đợi KFD (KFD queue) hoạt động sẽ kích hoạt việc giải tham chiếu con trỏ NULL, do vòng lặp for gọi hàm mqd_mgr->debugfs_show_mqd() được đặt sai vị trí bên ngoài khối if (pqn->q), nơi khởi tạo mqd_mgr.

Danh sách hàng đợi có thể chứa các mục mà pqn->q là NULL (các hàng đợi kernel chỉ hợp lệ với pqn->kq). Trong mã nguồn gốc:

if (pqn->q) {
... mqd_mgr = q->device->dqm->mqd_mgrs[mqd_type];
size = mqd_mgr->mqd_stride(...); }

for (xcc = 0; xcc < num_xccs; xcc++) { // SAI: nằm ngoài khối if
mqd = q->mqd + size * xcc; r = mqd_mgr->debugfs_show_mqd(m, mqd); }

Khi lặp qua một nút hàng đợi mà pqn->q là NULL: 1. Khối if (pqn->q) bị bỏ qua 2. mqd_mgr vẫn chưa được khởi tạo (NULL từ khi khai báo) 3. Vòng lặp for vẫn thực thi 4. mqd_mgr->debugfs_show_mqd(m, mqd) giải tham chiếu con trỏ NULL

Sự cố này biểu hiện dưới dạng:

BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor instruction fetch in kernel mode RIP: 0010:0x0 Call Trace: pqm_debugfs_mqds+0x10c/0x1d0 [amdgpu]
kfd_debugfs_mqds_by_process+0x9b/0x110 [amdgpu]
seq_read_iter+0x132/0x4b0 ...

Khắc phục bằng cách di chuyển vòng lặp for vào bên trong khối if (pqn->q), để mqd_mgr và các biến liên quan chỉ được sử dụng khi đã được khởi tạo đúng cách.

(cherry picked from commit 8bfe29d5c798940f797aa24135d2734c3ffce9de)

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

11/09/2026

Tiết lộ

16/09/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 want to use VulDB in your project?

Use the official API to access entries easily!