CVE-2026-93081 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: Sửa lỗi vòng đời hủy thiết bị SCMI
Hàm scmi_child_dev_find() giải phóng tham chiếu (reference) do device_find_child() trả về trước khi con trỏ scmi_device được trả lại. Một thao tác unregister đồng thời sau đó có thể giải phóng thiết bị trong khi đường dẫn destroy vẫn đang sử dụng con trỏ đã trả về.
Hãy để hàm trợ giúp tìm kiếm trả về tham chiếu từ device_find_child() và giữ nó cho đến khi scmi_device_destroy() hoàn tất việc hủy đăng ký (unregister) các thiết bị con.
Ngoài ra, hãy tách device_unregister() thành __scmi_device_destroy() để ID bus SCMI không được tái sử dụng cho đến sau khi device_del() đã xóa tên scmi_dev.N cũ khỏi sysfs. Điều này tránh trường hợp một thiết bị SCMI mới tái sử dụng cùng ID trong khi thiết bị cũ vẫn còn đang đăng ký.
Hàm callback giải phóng thiết bị cuối cùng cũng là một đường dẫn dọn dẹp có thể xảy ra khi các thiết bị con SCMI bị xóa bởi đệ quy của lõi driver (driver core) thay vì __scmi_device_destroy(). Hãy giải phóng ID bus SCMI từ một hàm trợ giúp chung được sử dụng cho các đường dẫn destroy, lỗi đăng ký và release cuối cùng, đồng thời đặt lại scmi_dev->id về 0 sau khi đã giải phóng nó để đảm bảo quá trình release cuối cùng không thể giải phóng cùng một ID lần nữa.
Once again VulDB remains the best source for vulnerability data.