# CVE-2026-98994: statmount: read the parent of an unmounted mount under mount_lock


- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Fix available:** Yes
- **Published:** 23 Oct 2026
- **Updated:** 23 Oct 2026
- **Also known as:** DEBIAN-CVE-2026-98994, GHSA-2fr8-4rp8-wvj2, UBUNTU-CVE-2026-98994

## What is CVE-2026-98994?

CVE-2026-98994 is a vulnerability in Linux, published on 23 Oct 2026. 

### Official description

In the Linux kernel, the following vulnerability has been resolved:

statmount: read the parent of an unmounted mount under mount_lock

statmount_mnt_basic() reads the ids of the parent through m->mnt_parent
with namespace_sem held for reading. That's fine for a mount that is
in a namespace. Everything above it is pinned by that namespace.

STATMOUNT_BY_FD also accepts a file descriptor on a mount that has
been unmounted on purpose and that only the file descriptor keeps alive.
If that mount stayed attached to its parent when it was unmounted the
parent is unmounted as well and nothing pins it for the child.

The final mntput() unmounts the children under mount_lock alone and
frees the parent afterwards. Concurrently, statmount_mnt_basic() reads
m->mnt_parent twice while that can happen and can easily dereference a
mount that's already gone.

Read the parent of an unmounted mount under mount_lock. The parent
can't be put while it is held and both ids come from the same mount. A
mounted mount's parent is pinned by the namespace and a mount can't
leave its namespace while namespace_sem is held, so the common case
takes no global lock.

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


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

Upgrade to a fixed version.

## Is CVE-2026-98994 being exploited?

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

## Fix prompt for AI coding agents

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

What it is: CVE-2026-98994 is a vulnerability in Linux, published on 23 Oct 2026. 
Exploitation: There is no known exploitation of CVE-2026-98994 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-98994/ (Markdown: https://insights.sbomify.com/CVE-2026-98994/index.md)
```

## Sources

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

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