CVE-2025-38682 in Linuxinformación

Resumen

por VulDB • 2026-07-07

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

i2c: core: Corregir doble liberación (double-free) de fwnode en i2c_unregister_device()

Antes del commit df6d7277e552 ("i2c: core: No desreferenciar fwnode en struct device"), i2c_unregister_device() solo llamaba a fwnode_handle_put() sobre los nodos of (of_node-s) mediante la llamada de of_node_put(client->dev.of_node).

Sin embargo, después de este commit, el fwnode del i2c_client recibe ahora incondicionalmente una llamada a fwnode_handle_put().

Cuando un i2c_client no tiene un fwnode primario (ACPI / OF) pero sí posee un software fwnode, el nodo de software se convertirá en el nodo principal y fwnode_handle_put() lo liberará.

Pero para el dispositivo software fwnode, device_remove_software_node() también realizará una llamada a put(), lo que provocaría un doble libre (double-free):

[ 82.665598] ------------[ corte aquí ]------------
[ 82.665609] refcount_t: desbordamiento por debajo del mínimo; use-after-free.
[ 82.665808] ADVERTENCIA: CPU: 3 PID: 1502 en lib/refcount.c:28 refcount_warn_saturate+0xba/0x11
... [ 82.666830] RIP: 0010:refcount_warn_saturate+0xba/0x110
... [ 82.666962] <TAREA>
[ 82.666971] i2c_unregister_device+0x60/0x90

Se corrige este problema evitando llamar a fwnode_handle_put() cuando el fwnode primario es un software-node.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2025-04-16

Divulgación

2025-09-04

Moderación

aceptado

Artículo

VDB-322542

CPE

listo

EPSS

0.00143

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!