Skip to main content

Linux Kernel CVE-2025-40105

HIGH
2025-10-30 416baaa9-dc9f-4396-8d5f-8c081fb06d67
High
Disputed · 7.8 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Low–High)
Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
2.5 LOW

Local trigger via privileged open_by_handle_at (PR:L), needing filesystem corruption or a rename race (AC:H); impact is a memory leak / unmount DoS, so C:N/I:N and only A:L.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
3.3 LOW
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Analysis Generated
Jul 30, 2026 - 06:39 vuln.today
CVSS changed
Jul 30, 2026 - 06:37 NVD
7.8 (HIGH)
CVE Published
Oct 30, 2025 - 10:15 cve.org
HIGH 7.8
CVE Published
Oct 30, 2025 - 10:15 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

vfs: Don't leak disconnected dentries on umount

When user calls open_by_handle_at() on some inode that is not cached, we will create disconnected dentry for it. If such dentry is a directory, exportfs_decode_fh_raw() will then try to connect this dentry to the dentry tree through reconnect_path(). It may happen for various reasons (such as corrupted fs or race with rename) that the call to lookup_one_unlocked() in reconnect_one() will fail to find the dentry we are trying to reconnect and instead create a new dentry under the parent. Now this dentry will not be marked as disconnected although the parent still may well be disconnected (at least in case this inconsistency happened because the fs is corrupted and .. doesn't point to the real parent directory). This creates inconsistency in disconnected flags but AFAICS it was mostly harmless. At least until commit f1ee616214cb ("VFS: don't keep disconnected dentries on d_anon") which removed adding of most disconnected dentries to sb->s_anon list. Thus after this commit cleanup of disconnected dentries implicitely relies on the fact that dput() will immediately reclaim such dentries. However when some leaf dentry isn't marked as disconnected, as in the scenario described above, the reclaim doesn't happen and the dentries are "leaked". Memory reclaim can eventually reclaim them but otherwise they stay in memory and if umount comes first, we hit infamous "Busy inodes after unmount" bug. Make sure all dentries created under a disconnected parent are marked as disconnected as well.

AnalysisAI

Memory-management flaw in the Linux kernel VFS layer allows a local user with handle-lookup privileges to leak disconnected directory dentries by calling open_by_handle_at() on uncached inodes, eventually producing a 'Busy inodes after unmount' condition and unreclaimed kernel memory. The bug surfaces when reconnect_one() fails to find the target dentry and creates a replacement that is not flagged as disconnected, so dput() never immediately reclaims it - a regression exposed by commit f1ee616214cb, which stopped tracking most disconnected dentries on sb->s_anon. There is no public exploit identified at time of analysis, EPSS is low (0.19%, 9th percentile), and this is not in CISA KEV.

Technical ContextAI

The vulnerability lives in the Virtual File System (VFS) dentry-reconnection path used by the exportfs subsystem, which underpins NFS-style file access via file handles. When open_by_handle_at() is used on an inode absent from the dcache, the kernel builds a 'disconnected' dentry; if it is a directory, exportfs_decode_fh_raw() calls reconnect_path()/reconnect_one() to splice it back into the dentry tree. reconnect_one() uses lookup_one_unlocked() to resolve the child, and on failure (e.g., a corrupted filesystem where '..' does not point to the real parent, or a race with rename) it creates a fresh dentry that is not marked DCACHE_DISCONNECTED even though its parent still is. Because commit f1ee616214cb ("VFS: don't keep disconnected dentries on d_anon") made cleanup rely on dput() immediately reclaiming disconnected dentries, an unflagged leaf dentry escapes reclaim and is leaked. The fix ensures every dentry created under a disconnected parent inherits the disconnected flag. The root-cause class is a resource-management/memory-leak defect (broadly CWE-401/CWE-459), not information disclosure despite the input tag; the input CWE is N/A.

Affected ProductsAI

The affected component is the Linux kernel VFS/exportfs subsystem. No CPE strings or explicit version ranges were provided in the input, and the input CWE is N/A; the eight git.kernel.org stable commit references (e.g., 20863bb7fbb0, 56094ad3eaa2, 620f3b0ede9c, 7e0c8aaf4e28, 8004d4b8cbf1, b5abafd0aa8d, cebfbf40056a, eadc49999fa9) indicate the fix was backported across multiple stable branches, so all maintained kernel lines carrying commit f1ee616214cb up to those fixes are affected. Siemens has also published a downstream advisory at https://cert-portal.siemens.com/productcert/html/ssa-019113.html for its Linux-based products. Exact affected version boundaries should be confirmed against each distribution's kernel changelog since the NVD entries carry no version metadata here.

RemediationAI

Patch available per vendor advisory: apply the upstream stable fix that marks all dentries created under a disconnected parent as disconnected, distributed across the referenced git.kernel.org commits (20863bb7fbb0, 56094ad3eaa2, 620f3b0ede9c, 7e0c8aaf4e28, 8004d4b8cbf1, b5abafd0aa8d, cebfbf40056a, eadc49999fa9) - update to the fixed stable/distribution kernel build that includes your branch's commit, and reboot. A specific single tagged release version is not identifiable from the input, so confirm the fixed build number with your distribution's security tracker. Siemens users should follow https://cert-portal.siemens.com/productcert/html/ssa-019113.html. As a compensating control until patched, restrict the CAP_DAC_READ_SEARCH capability so untrusted local users cannot invoke open_by_handle_at() (trade-off: breaks legitimate userspace NFS/handle-based tooling), and avoid mounting untrusted or potentially corrupted filesystem images (trade-off: operationally limiting for forensic or multi-tenant storage workflows). There is no network-facing workaround since the flaw is local.

Vendor StatusVendor

SUSE

Severity: Low
Product Status
Container suse/hpc/warewulf4-x86_64/sle-hpc-node:latest Image SLES15-SP6 Image SLES15-SP6-BYOS Image SLES15-SP6-BYOS-Azure Image SLES15-SP6-BYOS-EC2 Image SLES15-SP6-BYOS-GCE Image SLES15-SP6-CHOST-BYOS Image SLES15-SP6-CHOST-BYOS-Aliyun Image SLES15-SP6-CHOST-BYOS-Azure Image SLES15-SP6-CHOST-BYOS-EC2 Image SLES15-SP6-CHOST-BYOS-GCE Image SLES15-SP6-CHOST-BYOS-GDC Image SLES15-SP6-CHOST-BYOS-SAP-CCloud Image SLES15-SP6-EC2 Image SLES15-SP6-EC2-ECS-HVM Image SLES15-SP6-GCE Image SLES15-SP6-HPC-BYOS Image SLES15-SP6-HPC-BYOS-Azure Image SLES15-SP6-HPC-BYOS-EC2 Image SLES15-SP6-HPC-BYOS-GCE Image SLES15-SP6-HPC-EC2 Image SLES15-SP6-HPC-GCE Image SLES15-SP6-Hardened-BYOS Image SLES15-SP6-Hardened-BYOS-Azure Image SLES15-SP6-Hardened-BYOS-EC2 Image SLES15-SP6-Hardened-BYOS-GCE Image SLES15-SP6-SAP Image SLES15-SP6-SAP-Azure Image SLES15-SP6-SAP-EC2 Image SLES15-SP6-SAP-GCE Image SLES15-SP6-SAPCAL Image SLES15-SP6-SAPCAL-Azure Image SLES15-SP6-SAPCAL-EC2 Image SLES15-SP6-SAPCAL-GCE Affected
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.1/baremetal-os-container:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Container suse/sl-micro/6.1/base-os-container:2.2.1-5.80 Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.114 Container suse/sl-micro/6.1/kvm-os-container:2.2.1-5.82 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.116 Container suse/sl-micro/6.1/rt-os-container:2.2.1-5.55 Affected

Share

CVE-2025-40105 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy