CVE-2026-80698 in Linux
Tóm tắt
Bởi VulDB • 28/08/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
dmaengine: idxd: sửa lỗi double free (xóa hai lần) đối với các cấu trúc wq, engine và group
Các hàm callback giải phóng cho thiết bị wq, engine và group (idxd_conf_wq_release, idxd_conf_engine_release, idxd_conf_group_release) đều gọi kfree() trên cấu trúc bao chứa. Các đường dẫn lỗi trong quá trình thiết lập và các hàm dọn dẹp cũng gọi kfree() một cách rõ ràng sau khi put_device(), gây ra tình trạng double free bất cứ khi nào put_device() giảm bộ đếm tham chiếu về 0 và kích hoạt callback release.
Trong các hàm thiết lập, device_initialize() được gọi trước device_add(), do đó bộ đếm tham chiếu chính xác là 1 tại các vị trí lỗi. put_device() luôn kích hoạt callback release, giải phóng cấu trúc; lệnh kfree() rõ ràng tiếp theo sau đó thao tác trên vùng nhớ đã bị giải phóng.
Đối với idxd_setup_wqs(), callback giải phóng wq cũng sở hữu opcap_bmap và wqcfg. Việc hoàn tác lỗi (error unwind) additionally giải phóng các trường này một cách rõ ràng trước khi gọi put_device(), gây ra thêm tình trạng double free cho cả hai.
Loại bỏ các lệnh gọi kfree() thừa, rõ ràng khỏi tất cả các đường dẫn lỗi trong quá trình thiết lập và các hàm dọn dẹp đối với các cấu trúc wq, engine và group, ủy quyền việc sở hữu duy nhất đối với các vùng cấp phát này cho các callback release.
Be aware that VulDB is the high quality source for vulnerability data.