◆ CVE Hub

CVE-2026-98982

namespace: don't let a pseudo dentry become the root of a mount

Published
2026-10-23
Last modified
2026-10-24
CNA
Linux
NVD status
Received

Fetching some sources has been requested. Reload in about a minute to see them.

CVSS v3.1 (listed by NVD)
7.8
HIGH
Scored by Linux (not yet scored by NVD)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0 (listed by NVD)
—
Not scored
CVSS (listed by CVE.org)
7.8
HIGH
Scored by CNA (Linux) · v3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS exploit probability
0.2%
Percentile 10.5%
as of 2026-10-24
CISA KEV
—
Not listed

Attack conditions and impact

Derived from the CNA (via NVD) CVSS 3.1 vector
LocalLoginNo interaction Confidentiality HIntegrity HAvailability H
MetricValueMeaning
Attack vector AVLLocal
Attack complexity ACLLow (easy)
Privileges required PRLRegular user
User interaction UINNone
Scope SUUnchanged
Confidentiality CHHigh
Integrity IHHigh
Availability AHHigh
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Description

NVD

In the Linux kernel, the following vulnerability has been resolved: namespace: don't let a pseudo dentry become the root of a mount d_alloc_pseudo() hands out dentries for pipes, sockets and other files that are never anyone's child or parent. They carry DCACHE_NORCU and dentry_free() frees them right away because no lockless path walk can ever reach them. That holds as long as such a dentry isn't the root of a mount. But bind mounting /proc/self/fd/<fd> of such a file does exactly that. Most callers of alloc_file_pseudo() put their files on kernel-internal mounts and may_copy_tree() refuses those. bpf_token_create() doesn't. It places the token file on the bpffs mount the caller handed it and that mount is in the caller's mount namespace so the clone goes through: mount --bind /proc/self/fd/<token> <file> open_tree(tokfd, "", AT_EMPTY_PATH | OPEN_TREE_CLONE) + move_mount() __follow_mount_rcu() then loads ->mnt_root of that mount, reads d_seq and d_flags of the dentry and only then checks mount_lock. The dentry can be gone by then. The final mntput() of an unmounted parent unhooks a child that stayed attached to it under mount_lock alone. When the child's holder does the final put right after that the root is dput() and freed immediately while a walker that found the mount hashed still looks at it. Refuse to clone a mount with a DCACHE_NORCU dentry as its root. Nothing sensible can be done with a bind mount of a bpf token anyway.

CVSS assessments

ProviderVersionScoreVector
NVD / 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)3.17.8 HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CNA / Linux3.17.8 HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected products and packages

CNA (CVE.org)

VendorProductVersions
LinuxLinux
affected: 35f96de04127d332a5c5e8a155d31f452f88c76d … < a256e31e0c54c4c37d2523aa52faabdcdd2ebc07
affected: 35f96de04127d332a5c5e8a155d31f452f88c76d … < 7e1c466011ba9e64d43075396badc03191bcee44
affected: 35f96de04127d332a5c5e8a155d31f452f88c76d … < 00287afa7cd989efdbf5822b7efac33cce7d489a
affected: 35f96de04127d332a5c5e8a155d31f452f88c76d … < b138e16fb1e81376cea89f727dda7bfccd140de4
default: unaffected
LinuxLinux
affected: 6.9
unaffected: 0 … < 6.9
unaffected: 6.12.113 … <= 6.12.*
unaffected: 6.18.57 … <= 6.18.*
unaffected: 7.2.11 … <= 7.2.*
unaffected: 7.3 … <= *
default: affected

Open-source packages (GitHub Advisory / OSV)

namespace: don't let a pseudo dentry become the root of a mount

EcosystemPackageAffected versionsFixed in
>= 35f96de04127d332a5c5e8a155d31f452f88c76d, < a256e31e0c54c4c37d2523aa52faabdcdd2ebc07; < 7e1c466011ba9e64d43075396badc03191bcee44; < 00287afa7cd989efdbf5822b7efac33cce7d489a; < b138e16fb1e81376cea89f727dda7bfccd140de4a256e31e0c54c4c37d2523aa52faabdcdd2ebc07, 7e1c466011ba9e64d43075396badc03191bcee44, 00287afa7cd989efdbf5822b7efac33cce7d489a, b138e16fb1e81376cea89f727dda7bfccd140de4
LinuxKernel>= 6.9.0, < 6.12.113; >= 6.13.0, < 6.18.57; >= 6.19.0, < 7.2.116.12.113, 6.18.57, 7.2.11

Linux distribution status

Red Hat ↗ Fetching

Debian ↗

ReleasePackageStatusFixed version / notes
bookwormlinuxnot-affected unimportant
forkylinuxresolved not yet assigned7.2.11-1
sidlinuxresolved not yet assigned7.2.11-1
trixielinuxresolved not yet assigned6.12.113-1

Ubuntu ↗ Fetching

References (7)