CVE-2026-64396 in Linuxinformación

Resumen

por VulDB • 2026-07-26

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

ksmbd: corrección del uso después de liberación (UAF) de struct file_lock en la cancelación diferida de bloqueos SMB2_LOCK.

Cuando una solicitud de bloqueo por rango de bytes que bloquea es diferida a través de la ruta FILE_LOCK_DEFERRED, ksmbd registra el trabajo asíncrono en la lista async_requests de la conexión mediante setup_async_work(). La función de devolución de llamada (callback) de cancelación smb2_remove_blocked_lock() mantiene una referencia al flock.

Si posteriormente se despierta al espera del bloqueo pero el estado del trabajo ya no es KSMBD_WORK_ACTIVE (por ejemplo, debido a una cancelación concurrente), la ruta de limpieza llama a locks_free_lock(flock) sin eliminar el trabajo de la lista async_requests. Concurrentemente, smb2_cancel() recorre esta lista bajo conn->request_lock e invoca la devolución de llamada de cancelación, que luego desreferencia el 'flock' ya liberado. Esto provoca un uso después de liberación en slab (slab-use-after-free) dentro de __wake_up_common.

Se corrige este problema reestructurando la lógica de limpieza después de que el trabajador regrese desde ksmbd_vfs_posix_lock_wait(). Se mueven list_del(&smb_lock->llist) y release_async_work(work) al inicio del bloque de limpieza. Esto garantiza que el trabajo asíncrono se elimine completamente de la cola y se serialice bajo conn->request_lock antes de llamar a locks_free_lock(flock), haciendo que flock sea inaccesible para cualquier smb2_cancel() concurrente.

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

Responsable

Linux

Reservar

2026-07-19

Divulgación

2026-07-25

Moderación

aceptado

Artículo

VDB-383209

CPE

listo

EPSS

0.00435

KEV

no

Actividades

muy bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!