Description
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.
Published: 2026-10-23
Score: n/a
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises from the way the Linux kernel allocates pseudo dentries for special file objects such as pipes and sockets. These dentries are normally short‑lived and freed immediately, but if they become the root of a mount through a bind operation on /proc/self/fd/<fd>, the kernel can unknowingly operate on a dentry that has already been freed. This race condition can lead to memory corruption or a use‑after‑free scenario, potentially allowing an attacker to execute arbitrary code with kernel privileges.

Affected Systems

The affected component is the Linux kernel itself. No specific kernel version range is provided in the advisory, so any system running a kernel that has not yet incorporated the described patch could be vulnerable. All Linux distributions that ship the kernel are potentially impacted unless they have adopted the fix in a newer release.

Risk and Exploitability

The exact CVSS score is not disclosed in the advisory, nor is an EPSS score available, so the quantitative likelihood of exploitation is unclear. The lack of a CISA KEV designation means there is no current evidence of exploitation in the wild, but the nature of the flaw—potential memory corruption in privileged kernel code—suggests a high impact if it could be triggered. The attack likely requires the ability to perform a bind mount of a file descriptor that is not subject to other security checks, such as a BPF token file, which may restrict exploitation to privileged or specially configured environments.

Generated by OpenCVE AI on October 23, 2026 at 14:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that addresses the use‑after‑free condition in the bind‑mount logic.
  • Subscribe to kernel release announcements and install any newer kernel versions that incorporate fixed logic.
  • If possible, reduce or control bind‑mount operations of /proc/self/fd/<fd> for special files, and audit kernel usage of BPF token mounts.
  • Review system policy for elevated processes that may create such mounts, ensuring they run under least privilege.

Generated by OpenCVE AI on October 23, 2026 at 14:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 23 Oct 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description 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.
Title namespace: don't let a pseudo dentry become the root of a mount
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:19:59.784Z

Reserved: 2026-09-25T10:25:14.384Z

Link: CVE-2026-98982

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:20.043

Modified: 2026-10-23T13:17:20.043

Link: CVE-2026-98982

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T15:00:13Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-416

    Use After Free