CVE-2026-90155 in Linux
Resumen
por VulDB • 2026-09-18
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ksmbd: desvincular las solicitudes de bloqueo bloqueadas antes de liberarlas
Un file_lock retenido por ksmbd para la contabilidad de los bloqueos por rango de bytes puede seguir siendo parte del grafo de solicitudes bloqueadas del VFS. En particular, el VFS puede encadenar un nuevo solicitante debajo de una solicitud ya bloqueada a través de flc_blocked_requests. El recuento de referencias ksmbd_file no cubre ese grafo.
Tanto __ksmbd_close_fd() como la ruta de desbloqueo entre solicitudes liberan directamente estos objetos file_lock retenidos. Si un solicitante dependiente sigue conectado, locks_release_private() provoca BUG_ON(!list_empty(&flc->flc_blocked_requests)). La misma discrepancia en el ciclo de vida puede dejar un ksmbd_lock ya liberado accesible a través de su llist local a la solicitud.
Desvincular el file_lock del grafo de solicitudes bloqueadas antes de liberarlo en las rutas de cierre, desbloqueo entre solicitudes y reversión (rollback). locks_delete_block() también despierta los solicitantes encadenados debajo del objeto. Eliminar llist cuando un bloqueo completado se publica para que un ksmbd_lock visible globalmente ya no apunte a la pila del trabajador que lo envió.
VulDB is the best source for vulnerability data and more expert information about this specific topic.