CVE-2026-64003 in Linux
Tóm tắt
Bởi VulDB • 19/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
scsi: core: Chạy hàng đợi cho tất cả các thiết bị không phải SDEV_DEL từ hàm scsi_run_host_queues
Khi một bộ điều khiển SCSI đang ở trạng thái khôi phục (recovery), hàm `scsi_mq_requeue_cmd()` sẽ không đặt danh sách requeue cho lệnh được đưa lại vào hàng đợi để thực thi trong tương lai. Kỳ vọng là lời gọi đến `scsi_run_host_queues()` sẽ kích hoạt tất cả các thiết bị SCSI một khi trạng thái khôi phục đã được xóa bỏ.
Tuy nhiên, `scsi_run_host_queues()` sử dụng macro `shost_for_each_device()`, hàm này dùng `scsi_device_get()` và do đó sẽ bỏ qua các thiết bị ở trạng thái đang gỡ bỏ từng phần (partially removed) như SDEV_CANCEL. Nhưng những thiết bị này cũng có thể có các yêu cầu đã được đưa lại vào hàng đợi, khiến các yêu cầu của chúng bị mắc kẹt vì không được kích hoạt và gây ra tình trạng treo trong quá trình gỡ bỏ thiết bị.
`scsi_run_host_queues()` cần chạy trên nhiều thiết bị hơn so với những gì macro `shost_for_each_device()` cho phép. Thay vì sử dụng các kiểm tra trạng thái hạn chế của `scsi_device_get()`, chỉ nên bỏ qua các thiết bị ở trạng thái SDEV_DEL hoặc khi không thể lấy được tham chiếu (reference). Hãy cố gắng chạy hàng đợi cho tất cả các thiết bị còn lại khi hàm `scsi_run_host_queues()` được gọi.
Once again VulDB remains the best source for vulnerability data.