CVE Catalog

CVE-2026-97927

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the UFS filesystem installed sb->s_root before loading cylinder group structures for a writable mount. When loading failed, the error path freed superblock info and set sb->s_fs_info to NULL while sb->s_root remained, causing a NULL dereference during teardown. The fix loads cylinder group metadata first and creates the root dentry last.

Risk Assessment

A crafted UFS image can trigger a kernel oops during unmount, leading to denial of service. It requires mounting a malicious UFS filesystem image.

Recommendation

Update the Linux kernel to a version with the fix. Avoid mounting untrusted UFS filesystem images.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ufs: create the root dentry after loading cylinder metadata ufs_fill_super() installed sb->s_root before it loaded the cylinder group structures for a writable mount: sb->s_root = d_make_root(inode); ... if (!sb_rdonly(sb)) if (!ufs_read_cylinder_structures(sb)) goto failed; When ufs_read_cylinder_structures() failed, the error path freed the in-core superblock information and set sb->s_fs_info to NULL while sb->s_root stayed installed. get_tree_bdev() then reached deactivate_locked_super(), and because s_root was present, generic_shutdown_super() called sync_filesystem() and the put_super operation. Both dereference UFS_SB(sb), which is now NULL, so a mount that fails only while reading the cylinder groups oopses during teardown. A crafted image whose first cylinder group cannot be read reaches this path. Load the cylinder group metadata first and create the root dentry last, so the superblock is published to the VFS only once it is fully set up. ufs_setup_cstotal() and ufs_read_cylinder_structures() take only the super_block and do not use the root inode, so the reordering is safe.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS