CVE-2026-74348 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ocfs2/dlm: requiere una referencia para abrir locking_state en debugfs
debug_lockres_open() copia inode->i_private a struct debug_lockres y debug_lockres_release() libera posteriormente ese puntero con dlm_put(). Esto solo funciona si open bloquea correctamente el struct dlm_ctxt.
Actualmente, las llamadas de open realizan dlm_grab(dlm) pero ignoran su valor devuelto. Una vez que la última desregistro del dominio ha eliminado el contexto de dlm_domains, dlm_grab() devuelve NULL, sin embargo, open sigue almacenando el puntero crudo y devuelve éxito. La ruta de liberación posterior está fuera de la barrera de eliminación de debugfs, por lo que puede llamar a dlm_put() después de que dlm_free_ctxt_mem() haya liberado el contexto. KASAN informa esto como un uso-después-de-liberación (use-after-free) en slab dentro de dlm_put(), llamado desde debug_lockres_release().
Fallar la apertura cuando dlm_grab() no pueda adquirir la referencia y deshacer el estado privado del seq_file antes de devolver. Esto evita que locking_state entregue un descriptor de archivo cuya ruta de liberación no posee el dlm_ctxt.
El escenario defectuoso implica dos rutas, con cada columna mostrando el orden dentro de esa ruta:
apertura debugfs de locking_state: último desregistro de dominio: 1. debug_lockres_open() lee 1. dlm_unregister_domain() llama a inode->i_private. dlm_complete_dlm_shutdown(). 2. debug_lockres_open() llama 2. shutdown elimina el dlm_ctxt de dlm
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.