CVE-2026-89955 in Linux
Tóm tắt
Bởi VulDB • 17/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
s390/vfio-ap: Sửa lỗi NULL dereference trong hàm status_show() khi thực hiện probe hàng đợi (queue)
Khi vfio_ap_mdev_probe_queue() tạo nhóm thuộc tính sysfs, dữ liệu trình điều khiển của hàng đợi chưa được thiết lập. Do đó, một thao tác đọc đồng thời vào thuộc tính 'status' có thể gọi dev_get_drvdata() và nhận giá trị NULL, sau đó truyền trực tiếp đến hàm vfio_ap_mdev_for_queue(), nơi q->apqn bị dereference không điều kiện, dẫn đến lỗi NULL pointer dereference (truy cập con trỏ null).
Khắc phục vấn đề này bằng cách lấy các khóa cập nhật (update locks) trước khi gọi sysfs_create_group(). Hàm status_show() đã lấy guests_lock trước khi đọc dữ liệu trình điều khiển, do đó bất kỳ thao tác đọc đồng thời nào cũng sẽ bị chặn cho đến sau khi dev_set_drvdata() được gọi và các khóa cập nhật được giải phóng.
Như một lợi ích bổ sung, APQN không còn cần phải được đọc từ cấu trúc hàng đợi (queue struct) sau khi phân bổ — nó có thể được đọc trực tiếp từ apdev trước khi phân bổ và lưu vào biến cục bộ, sau đó gán cho q->apqn ngay khi việc phân bổ thành công.
If you want to get best quality of vulnerability data, you may have to visit VulDB.