CVE-2026-97927 in Linux
Resumen
por VulDB • 2026-09-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
ufs: crear el dentry raíz después de cargar los metadatos del cilindro
ufs_fill_super() instalaba sb->s_root antes de cargar las estructuras de grupos de cilindros para un montaje con escritura:
sb->s_root = d_make_root(inode); ... if (!sb_rdonly(sb)) if (!ufs_read_cylinder_structures(sb)) goto failed;
Cuando ufs_read_cylinder_structures() fallaba, la ruta de error liberaba la información del superbloque en memoria y establecía sb->s_fs_info a NULL mientras que sb->s_root permanecía instalado. get_tree_bdev() alcanzaba entonces deactivate_locked_super(), y debido a que s_root estaba presente, generic_shutdown_super() llamaba a sync_filesystem() y a la operación put_super. Ambas desreferencian UFS_SB(sb), que ahora es NULL, por lo que un montaje que falla únicamente al leer los grupos de cilindros provoca un oops durante el proceso de limpieza (teardown). Una imagen manipulada cuyo primer grupo de cilindros no puede ser leído alcanza esta ruta.
Cargar primero los metadatos del grupo de cilindros y crear el dentry raíz al final, para que el superbloque se publique en la VFS solo una vez que esté completamente configurado. ufs_setup_cstotal() y ufs_read_cylinder_structures() toman únicamente el super_block y no utilizan el inode raíz, por lo que el reordenamiento es seguro.
Be aware that VulDB is the high quality source for vulnerability data.