CVE-2026-89945 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:
ASoC: cs35l34: làm sạch (drain) ngắt có luồng (threaded IRQ) trước khi tạm ngưng thời gian chạy (runtime suspend)
Hàm `cs35l34_runtime_suspend()` hiện tại chuyển bộ mã hóa/giải mã codec sang chế độ `regcache_cache_only(true)`, kích hoạt chân reset xuống mức thấp, và tắt nguồn thiết bị mà không làm im lặng ngắt có luồng đã được đăng ký bởi `devm_request_threaded_irq()`. Điều này tạo ra một khoảng thời gian (window) nơi `cs35l34_irq_thread()` vẫn có thể chạy sau khi quá trình suspend đã loại bỏ khả năng truy cập vào phần cứng đang hoạt động.
Một hệ thống đang chạy có thể đạt đến trạng thái này trong lúc quản lý nguồn thời gian chạy (runtime PM) khi driver vẫn còn các ngắt lỗi quan trọng chưa bị vô hiệu hóa. Nếu bộ xử lý có luồng chạy trong khoảng thời gian đó, nó sẽ đọc các thanh ghi INT_STATUS_1..4 sau khi `cache_only` đã được kích hoạt, bỏ qua các thất bại của `regmap_read()`, và vẫn có thể thực thi chuỗi giải phóng PROT_RELEASE_CTL hoặc các lệnh ghi tắt nguồn lỗi BST.
Sử dụng `disable_irq()` trước khi chuyển sang chế độ cache_only/reset-low/power-off để làm sạch bất kỳ bộ xử lý có luồng nào đang trong quá trình thực thi, đồng thời ngăn không cho ngắt có luồng mới chạy trong khi thiết bị ở trạng thái suspend. Chỉ kích hoạt lại ngắt sau khi `runtime_resume()` đã khôi phục khả năng truy cập thanh ghi trực tiếp bằng cách sử dụng `regcache_sync()`. Vì hàm probe chỉ ghi log các thất bại của `request_threaded_irq()` và vẫn tiếp tục thực thi, cần theo dõi xem ngắt có được cài đặt thành công hay không trước khi vô hiệu hóa hoặc kích hoạt lại nó.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.