CVE-2026-93084 in Linux
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:
firmware: arm_scmi: Hủy bỏ handle khi gặp lỗi liên kết giao thức (protocol bind failures)
Bộ thông báo bus SCMI (SCMI bus notifier) sẽ lấy một SCMI handle khi lõi thiết bị phát ra sự kiện BUS_NOTIFY_BIND_DRIVER, trước khi gọi callback probe của trình điều khiển giao thức. Đường dẫn probe giao thức chỉ kiểm tra xem sdev->handle có được đặt hay không.
Nếu device_link_add() thất bại sau khi handle đã được lấy, thiết bị giao thức vẫn có thể liên kết với một handle hợp lệ nhưng thiếu đường phụ thuộc (dependency link) đến cha SCMI. Sau đó, việc hủy liên kết đồng thời của thiết bị cha có thể bỏ qua thiết bị con và phá vỡ phiên bản SCMI trong khi thiết bị con vẫn giữ một handle trỏ vào nó.
Nếu quá trình probe của trình điều khiển giao thức sau đó thất bại (ví dụ với lỗi -EPROBE_DEFER), lõi thiết bị sẽ phát ra BUS_NOTIFY_DRIVER_NOT_BOUND thay vì BUS_NOTIFY_UNBOUND_DRIVER. Bộ thông báo SCMI chỉ giải phóng handle khi nhận được sự kiện BUS_NOTIFY_UNBOUND_DRIVER, do đó mỗi lần liên kết device-giao thức thất bại đều gây rò rỉ bộ đếm tham chiếu (refcount) của phiên bản SCMI và để lại sdev->handle vẫn được đặt sau khi probe thất bại.
Hãy làm cho hàm trợ giúp link báo cáo lỗi và hủy bỏ handle đã lấy nếu không thể tạo đường liên kết. Đồng thời, xử lý BUS_NOTIFY_DRIVER_NOT_BOUND trong cùng một đường dẫn dọn dẹp được sử dụng cho unbind, nhằm đảm bảo các lần probe thất bại cân bằng với việc lấy handle ban đầu từ sự kiện BUS_NOTIFY_BIND_DRIVER.
If you want to get best quality of vulnerability data, you may have to visit VulDB.