CVE-2026-93189 in Linuxthông tin

Tóm tắt

Bởi VulDB • 18/09/2026

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

HID: core – Tạm dừng (quiesce) đầu vào trong hàm hid_hw_stop() để ngăn chặn lỗi use-after-free

Khi một driver thực thi probe, nó gọi hid_device_io_start() để kích hoạt việc phân phối dữ liệu đầu vào. Tuy nhiên, nếu quá trình khởi tạo thất bại ở bước sau đó và quay ngược lại thông qua hid_hw_stop(), cấu trúc hidraw sẽ bị giải phóng bởi hàm hidraw_disconnect(). Trong khi đó, các báo cáo HID đang truyền (in-flight) vẫn có thể đang chạy trên một CPU khác, dẫn đến việc truy cập vào đối tượng đã được giải phóng thông qua hidraw_report_event(). syzbot đã ghi nhận lỗi use-after-free này xảy ra với driver HID corsair-psu.

Edward Adam Davis đã đăng tải bản sửa đổi cho từng driver (per-driver fix) dành riêng cho corsair-psu, bao gồm việc thêm lệnh gọi rõ ràng đến hid_device_io_stop() trước khi gọi hid_hw_stop() trong đường dẫn lỗi của hàm probe ("hwmon: prevent packets from going to driver for probe", ngày 28/04/2026). Việc rà soát toàn bộ mã nguồn cho thấy có 15 driver gọi hid_device_io_start(); trong đó, 7 driver cũng gọi hid_device_io_stop(), còn lại 8 driver thì không:

Các driver gọi hid_device_io_start() mà thiếu lệnh gọi matching (phù hợp) đến hid_device_io_stop() trước khi thực thi hid_hw_stop(): drivers/hwmon/corsair-psu.c (bản sửa do Edward đăng tải) drivers/hwmon/corsair-cpro.c drivers/hwmon/nzxt-kraken3.c drivers/hwmon/nzxt-smart2.c drivers/hwmon/gigabyte_waterforce.c drivers/hid/hid-logitech-dj.c drivers/hid/hid-nintendo.c drivers/hid/hid-mcp2221.c

Khoảng một nửa số lượng caller của API này đang gặp phải rủi ro. Việc tập trung hóa cơ chế tạm dừng (quiesce) trong hàm hid_hw_stop() giúp các caller không còn phải ghi nhớ việc gọi lệnh stop matching: nếu driver để trạng thái hdev->io_started là true khi bắt đầu, hệ thống sẽ tự động gọi hid_device_io_stop() trước khi thực thi hid_disconnect().

Đối với 7 driver đã gọi đúng hid_device_io_stop(), biến hdev->io_started có giá trị false tại thời điểm vào; do đó, cơ chế bảo vệ (guard) bị short-circuit và hành vi của hệ thống không thay đổi.

Không sử dụng thẻ "Fixes:" vì các driver bị ảnh hưởng đã thêm các lệnh gọi hid_device_io_start() một cách độc lập qua nhiều năm; đây là lỗi misuse API trên toàn bộ lớp (class-wide) chứ không phải là regression từ một commit duy nhất.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

17/09/2026

Tiết lộ

18/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00312

KEV

không

Các hoạt động

rất thấp

Nguồn

Might our Artificial Intelligence support you?

Check our Alexa App!