CVE-2026-64447 in Linuxthông tin

Tóm tắt

Bởi VulDB • 25/07/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

staging: media: ipu7: sửa lỗi double-free và use-after-free trong các đường dẫn xử lý lỗi (error paths)

Cả hai hàm `ipu7_isys_init()` và `ipu7_psys_init()` đều cấp phát bộ nhớ cho biến `pdata`, sau đó truyền nó đến hàm `ipu7_bus_initialize_device()`, nơi lưu trữ nó vào `adev->pdata`. Hàm `ipu7_bus_release()` sẽ giải phóng (`free`) `adev->pdata` khi tham chiếu (reference count) của thiết bị giảm xuống bằng 0.

Hai đường dẫn xử lý lỗi gọi sai lệnh `kfree(pdata)` sau khi quá trình tháo gỡ thiết bị đã giải phóng nó:

1. Khi `ipu7_mmu_init()` thất bại: hàm `put_device()` được gọi, làm cho tham chiếu giảm xuống 0 và kích hoạt `ipu7_bus_release()` -> `kfree(pdata)`. Lệnh `kfree(pdata)` tiếp theo là một lỗi double-free (giải phóng hai lần).

2. Khi `ipu7_bus_add_device()` thất bại: nó gọi hàm nội bộ `auxiliary_device_uninit()`, hàm này lại gọi `put_device()` -> `ipu7_bus_release()` -> `kfree(pdata)`. Lệnh `kfree(pdata)` tiếp theo cũng là một lỗi double-free.

Lưu ý rằng lệnh `kfree(pdata)` khi chính `ipu7_bus_initialize_device()` thất bại là đúng, bởi vì trong trường hợp đó, `auxiliary_device_init()` đã thất bại và hàm giải phóng (release function) chưa bao giờ được thiết lập, do đó `pdata` phải được giải phóng thủ công.

Ngoài ra, mã lỗi không được lưu lại trước khi gọi `put_device()`, khiến `ERR_CAST()` cố gắng truy cập vào con trỏ `adev` đã bị giải phóng để xây dựng giá trị trả về. Khắc phục vấn đề này bằng cách lưu trữ lỗi từ `dev_err_probe()` trước khi gọi `put_device()` và thay thế việc trả về trực tiếp bằng lệnh `return ERR_PTR()`.

Loại bỏ các lệnh `kfree(pdata)` thừa thãi và sửa lỗi use-after-free trong các giá trị trả về của hai đường dẫn xử lý lỗi bị ảnh hưởng.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

19/07/2026

Tiết lộ

25/07/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00133

KEV

không

Các hoạt động

rất thấp

Nguồn

Interested in the pricing of exploits?

See the underground prices here!