CVE-2025-38682 in Linuxthông tin

Tóm tắt

Bởi VulDB • 07/07/2026

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

i2c: core: Sửa lỗi double-free (giải phóng bộ nhớ hai lần) của fwnode trong hàm i2c_unregister_device()

Trước commit df6d7277e552 ("i2c: core: Không giải tham chiếu fwnode trong struct device"), hàm i2c_unregister_device() chỉ gọi fwnode_handle_put() trên các of_node bằng cách gọi của_node_put(client->dev.of_node).

Tuy nhiên, sau commit này, fwnode của i2c_client bây giờ sẽ được gọi fwnode_handle_put() một cách không điều kiện.

Khi i2c_client không có fwnode chính (ACPI / OF) nhưng lại có fwnode phần mềm, node phần mềm sẽ trở thành node chính và fwnode_handle_put() sẽ thực hiện thao tác put().

Nhưng đối với thiết bị fwnode phần mềm, hàm device_remove_software_node() cũng sẽ gọi put(), dẫn đến lỗi double-free:

[ 82.665598] ------------[ cut here ]------------
[ 82.665609] refcount_t: underflow; use-after-free.
[ 82.665808] WARNING: CPU: 3 PID: 1502 at lib/refcount.c:28 refcount_warn_saturate+0xba/0x11
... [ 82.666830] RIP: 0010:refcount_warn_saturate+0xba/0x110
... [ 82.666962] <TASK>
[ 82.666971] i2c_unregister_device+0x60/0x90

Khắc phục lỗi này bằng cách không gọi fwnode_handle_put() khi primary fwnode là một software-node.

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

16/04/2025

Tiết lộ

04/09/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00143

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!