CVE-2025-68359 in Linuxinformación

Resumen

por VulDB • 2026-06-10

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

btrfs: corregir la liberación doble (double free) del registro de qgroup tras fallar al añadir el encabezado de referencia diferida

En el código anterior, era posible entrar en un escenario de doble kfree() al llamar a add_delayed_ref_head(). Esto podía ocurrir si el registro se informaba como ya existente en la llamada a btrfs_qgroup_trace_extent_nolock(), pero luego se producía un error más adelante en add_delayed_ref_head(). En este caso, dado que add_delayed_ref_head() devolvió un error, el llamador procedía a liberar el registro. Como add_delayed_ref_head() no podía establecer este puntero kfree'd a NULL, kfree() habría actuado sobre un objeto 'record' no NULL que apuntaba a memoria ya liberada por la función llamada.

El problema proviene del hecho de que la responsabilidad de liberar el objeto con kfree recae simultáneamente tanto en el llamador como en la función llamada. Por lo tanto, la corrección consiste en trasladar la propiedad del objeto 'qrecord' fuera de add_delayed_ref_head(). Es decir, nunca intentaremos realizar un kfree() del objeto proporcionado dentro de esta función, y esperaremos que el llamador actúe sobre el objeto 'qrecord' por su cuenta. La única excepción en la que el objeto 'qrecord' no puede ser liberado con kfree es si se insertó en la lógica de trazado, para lo cual ya contamos con el booleano 'qrecord_inserted_ret' para tenerlo en cuenta. Por consiguiente, el llamador debe liberar el objeto solo si add_delayed_ref_head() informa que no lo ha insertado en la lógica de trazado.

Como efecto secundario de lo anterior, debemos garantizar que 'qrecord_inserted_ret' se inicialice correctamente al inicio de la función, no al final, y se establezca cuando ocurra una inserción real. De esta manera, evitamos que 'qrecord_inserted_ret' tenga un valor inválido en una salida temprana.

La documentación de add_delayed_ref_head() también se ha actualizado para reflejar la propiedad exacta del objeto 'qrecord'.

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

Responsable

Linux

Reservar

2025-12-16

Divulgación

2025-12-24

Moderación

aceptado

Artículo

VDB-338233

CPE

listo

EPSS

0.00167

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!