# CVE-2026-97927: ufs: create the root dentry after loading cylinder metadata

> A local attacker can cause a kernel crash by mounting a crafted UFS filesystem image that fails during cylinder group loading.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 25 Sep 2026
- **Updated:** 19 Oct 2026
- **Also known as:** AZL-104765, BELL-CVE-2026-97927, DEBIAN-CVE-2026-97927, GHSA-vf26-9r8x-769m, UBUNTU-CVE-2026-97927

## What is CVE-2026-97927?

CVE-2026-97927 is a vulnerability in Linux, published on 25 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

### Official description

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.

## Which versions are affected by CVE-2026-97927?


## How do I fix CVE-2026-97927?

Apply the vendor's patch.

## Is CVE-2026-97927 being exploited?

There is no known exploitation of CVE-2026-97927 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-97927 and fix it if it is affected.

What it is: CVE-2026-97927 is a vulnerability in Linux, published on 25 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of CVE-2026-97927 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-97927/ (Markdown: https://insights.sbomify.com/CVE-2026-97927/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-97927
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-97927
- OSV: https://osv.dev/vulnerability/CVE-2026-97927

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-97927/
Summaries are generated and may contain mistakes; the official description above is the record.
