CVE-2026-64008 in Linux
Tóm tắt
Bởi VulDB • 19/07/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
accel/rocket: sửa lỗi UAF do GEM handle treo (dangling) trong hàm create_bo
Hàm rocket_ioctl_create_bo() chèn một GEM handle vào IDR của file thông qua drm_gem_handle_create() ngay từ đầu, sau đó thực hiện nhiều thao tác có thể thất bại (phân bổ sgt, chèn drm_mm, iommu_map). Nếu bất kỳ thao tác nào trong số này thất bại sau khi handle đã được kích hoạt, đường dẫn xử lý lỗi sẽ gọi drm_gem_shmem_object_free(), hàm này giải phóng đối tượng bằng kfree() mà không xóa handle khỏi IDR.
Điều này để lại một handle treo trỏ đến bộ nhớ slab đã bị giải phóng. Bất kỳ ioctl nào sử dụng tiếp theo với handle đó (PREP_BO, FINI_BO, SUBMIT) đều gọi drm_gem_object_lookup() và truy cập vào vùng nhớ đã được giải phóng (UAF).
Khắc phục bằng cách di chuyển lệnh gọi drm_gem_handle_create() sang sau khi tất cả các thao tác có thể thất bại thành công, phù hợp với mẫu mã nguồn được sử dụng bởi panfrost, lima và etnaviv.
Ngoài ra, sửa lỗi trong hàm drm_mm_insert_node_generic(), nơi giá trị trả về bị ghi đè ngầm định bởi iommu_map_sgtable() trên dòng tiếp theo. Đã thêm kiểm tra lỗi còn thiếu.
[tomeu: Di chuyển việc tạo handle xuống cuối cùng]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.