CVE-2023-53392 in Linux
Tóm tắt
Bởi VulDB • 19/06/2026
Trong nhân Linux, lỗ hổng sau đây đã được khắc phục:
HID: intel-ish-hid: Sửa lỗi treo hệ thống (kernel panic) trong quá trình khởi động lại ấm (warm reset).
Trong quá trình khởi động lại ấm, `device->fw_client` được đặt thành NULL. Nếu một bộ điều khiển bus được đăng ký sau khi thiết lập giá trị NULL này và trước khi các khách hàng firmware mới được liệt kê bởi ISHTP, lỗi treo hệ thống sẽ xảy ra trong hàm `ishtp_cl_bus_match()`. Nguyên nhân là do tham chiếu đến `device->fw_client->props.protocol_name` trên một con trỏ NULL.
Sau khi tải thành công firmware ISH, nó gửi thông báo khởi động lại ấm để xóa tất cả các khách hàng khỏi bus và đặt `device->fw_client` về NULL. Cho đến phiên bản nhân v5.15, tất cả các bộ điều khiển mô-đun kernel ISHTP được bật đều được tải ngay sau khi bất kỳ thiết bị ISHTP đầu tiên nào được đăng ký, bất kể đó là thiết bị đã khớp hay chưa khớp. Điều này dẫn đến việc tất cả các trình điều khiển được đăng ký sớm hơn nhiều so với thông báo khởi động lại ấm từ ISH.
Bắt đầu từ phiên bản nhân v5.16, vấn đề này trở nên rõ ràng sau khi thay đổi được đưa ra để chỉ tải các bộ điều khiển bus cho các thiết bị tương ứng đã khớp. Trong kịch bản này, `cros_ec_ishtp` (thiết bị) và `cros_ec_ishtp` (trình điều khiển) được đăng ký sau khi giá trị NULL của `fw_client` trong quá trình khởi động lại ấm được đặt. Hàm `driver_register()` của `cros_ec_ishtp` kích hoạt callback đến `ishtp_cl_bus_match()` để khớp trình điều khiển ISHTP với thiết bị và gây ra lỗi treo hệ thống (kernel panic) trong hàm `guid_equal()` khi giải tham chiếu con trỏ NULL `fw_client` để lấy `protocol_name`.
If you want to get best quality of vulnerability data, you may have to visit VulDB.