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

configfs: pin the symlink target's dirent instead of chasing ->ci_dentry

create_link() reads the target's configfs_dirent from
item->ci_dentry->d_fsdata, relying on the item reference taken by
get_target(). That reference pins the item, not its dentry: the dentry is
pinned by DCACHE_PERSISTENT, which configfs_remove_dir() releases via
simple_rmdir() while the item is still alive. A symlink racing with rmdir
of its target can therefore find ->ci_dentry freed and its dirent
released, triggering WARN_ON(!atomic_read(&sd->s_count)) in configfs_get().

Take the dirent in get_target() as well, under ->d_lock and atomically
with the item reference, and pass it down to create_link(). A hashed
dentry has not been killed yet, so its ->d_fsdata reference keeps the
dirent alive there.
Published: 2026-09-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Use‑After‑Free in configfs
Action: Patch Kernel
AI Analysis

Impact

An incorrect handling of directory entries in the Linux kernel’s configfs subsystem causes a race between link creation and removal. The bug arises because create_link() pins the symlink target's dentry via a reference counted struct but does not pin the underlying dentry object, leading to a use‑after‑free of a dentry during a configfs lookup. Based on the description, it is inferred that an attacker controlling configfs objects could trigger a kernel fault by concurrently creating and deleting a symlink to a target that is being accessed, potentially allowing memory corruption or privilege escalation.

Affected Systems

The vulnerability affects all versions of the Linux kernel that include a configfs build before the patch was applied, as identified by the kernel CPE string. No specific vendor or version is listed, so any Linux system running an unpatched kernel that enables the configfs filesystem is potentially susceptible.

Risk and Exploitability

The CVSS score of 5.5 indicates a moderate severity, while the EPSS score of < 1% suggests that exploitation is unlikely. The flaw is not listed in the CISA KEV catalog, meaning no known widespread exploitation. Exploitation would most likely require local access to the configfs filesystem, typically constrained to root or privileged users, and would involve a race condition between link creation and removal.

Generated by OpenCVE AI on October 1, 2026 at 08:34 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that includes the security patch for CVE-2026-97950 (commit 4f54beb2e7f6d399396466682fba3539bcdcb414 or a newer release that incorporates this change).
  • If an immediate kernel upgrade is not possible, disable the configfs filesystem or mount it as read‑only to prevent untrusted users from creating symlinks or directories.
  • Restrict permissions on the configfs mount point so that only privileged users can create or modify symlinks, reducing the risk of the race condition being triggered by non‑root actors.

Generated by OpenCVE AI on October 1, 2026 at 08:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6568-1 linux security update
History

Wed, 21 Oct 2026 13:15:00 +0000


Sat, 03 Oct 2026 11:15:00 +0000


Thu, 01 Oct 2026 07:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 30 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 25 Sep 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: configfs: pin the symlink target's dirent instead of chasing ->ci_dentry create_link() reads the target's configfs_dirent from item->ci_dentry->d_fsdata, relying on the item reference taken by get_target(). That reference pins the item, not its dentry: the dentry is pinned by DCACHE_PERSISTENT, which configfs_remove_dir() releases via simple_rmdir() while the item is still alive. A symlink racing with rmdir of its target can therefore find ->ci_dentry freed and its dirent released, triggering WARN_ON(!atomic_read(&sd->s_count)) in configfs_get(). Take the dirent in get_target() as well, under ->d_lock and atomically with the item reference, and pass it down to create_link(). A hashed dentry has not been killed yet, so its ->d_fsdata reference keeps the dirent alive there.
Title configfs: pin the symlink target's dirent instead of chasing ->ci_dentry
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-21T12:53:48.740Z

Reserved: 2026-09-25T10:18:58.205Z

Link: CVE-2026-97950

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:22.567

Modified: 2026-10-21T13:21:17.320

Link: CVE-2026-97950

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97950 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T08:45:03Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference