CVE-2026-90296 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:
cpufreq: imx6q: sửa lỗi tích tụ tài nguyên quản lý (devres) qua quá trình ràng buộc lại trình điều khiển
`imx6_soc_volt` được cấp phát bằng `devm_kcalloc(cpu_dev, ...)`, trong đó `cpu_dev` là thiết bị CPU từ hàm `get_cpu_device(0)`. Thiết bị này không bao giờ bị hủy liên kết (unbound), do đó danh sách devres của nó không bao giờ được giải phóng, và `imx6q_cpufreq_remove()` cũng không giải phóng mảng. Mỗi lần probe đều thêm một phép cấp phát tồn tại trong suốt vòng đời hệ thống.
Hãy thực hiện việc cấp phát đối với thiết bị nền (platform device) thay thế. Devres của thiết bị này sẽ được giải phóng khi trình điều khiển bị hủy liên kết, đây chính là khoảng thời gian sống mà mảng cần có: `imx6q_set_target()` đọc nó, và không gì có thể truy cập vào đó sau khi gọi `cpufreq_unregister_driver()`.
Điều này khiến mảng thực sự biến mất khi quá trình hủy liên kết diễn ra, do đó cũng cần xóa con trỏ phạm vi tệp (file-scope pointer) trong hàm remove và trên đường dẫn probe thất bại, thay vì để nó trỏ đến bộ nhớ mà devres sắp giải phóng.
Đã được kiểm tra bằng cách ràng buộc lại trình điều khiển trên mcimx6ul-evk của qemu.
Be aware that VulDB is the high quality source for vulnerability data.