Skip to main content

Linux Kernel EUVDEUVD-2026-58928

| CVE-2026-72170 HIGH
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-g6rc-qhh9-wvwv
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
5.3 MEDIUM

Race condition requires cacheless 9p mount plus concurrent heavy unlink load (AC:H, PR:L); impact is nlink corruption and potential kernel panic on panic_on_warn=1 systems (A:H, I:L); no confidentiality impact is demonstrated.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:L/VA:H/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 MEDIUM
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

5
Analysis Generated
Aug 17, 2026 - 07:24 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
7.8 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
HIGH 7.8
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

9p: skip nlink update in cacheless mode to fix WARN_ON

v9fs_dec_count() unconditionally calls drop_nlink() on regular files, even when the inode's nlink is already zero. In cacheless mode the client refetches inode metadata from the server (the source of truth) on every operation, so by the time v9fs_remove() returns, the locally cached nlink may already reflect the post-unlink value:

  1. Client initiates unlink, server processes it and sets nlink to 0
  2. Client refetches inode metadata (nlink=0) before unlink returns
  3. Client's v9fs_remove() completes successfully
  4. Client calls v9fs_dec_count() which calls drop_nlink() on nlink=0

This race is easily triggered under heavy unlink workloads, such as stress-ng's unlink stressor, producing the following warning:

WARNING: fs/inode.c:417 at drop_nlink+0x4c/0xc8 Call trace: drop_nlink+0x4c/0xc8 v9fs_remove+0x1e0/0x250 [9p] v9fs_vfs_unlink+0x20/0x38 [9p] vfs_unlink+0x13c/0x258 ...

In cacheless mode the server is authoritative and the inode is on its way out, so locally adjusting nlink buys nothing. Skip v9fs_dec_count() entirely when neither CACHE_META nor CACHE_LOOSE is set, which both avoids the warning and removes a class of nlink races (two concurrent unlinkers observing nlink > 0 and both calling drop_nlink()) that an nlink == 0 guard alone would only narrow rather than close.

AnalysisAI

The 9p filesystem client (v9fs) in the Linux kernel incorrectly invokes drop_nlink() on inodes whose nlink counter is already zero in cacheless mode, producing a kernel WARN_ON under concurrent unlink workloads. The race arises because cacheless mode delegates authority to the server: after the server processes an unlink and sets nlink to 0, the client refetches that metadata before its own v9fs_dec_count() executes, resulting in a decrement of an already-zero counter. No public exploit exists and EPSS is 0.21%, placing this firmly in patch-cycle rather than emergency response territory.

Technical ContextAI

The 9p protocol (Plan 9 from Bell Labs) is a network filesystem protocol whose Linux client, v9fs, supports multiple caching modes controlled at mount time via the cache= option. In cacheless mode (no CACHE_META or CACHE_LOOSE flag), the client treats the server as the sole source of truth and refetches inode metadata on every operation rather than relying on locally cached state. The vulnerable function v9fs_dec_count() unconditionally calls the VFS-layer drop_nlink() (fs/inode.c:417) after v9fs_remove() completes. The race window: the server processes the unlink and zeros nlink; the client refetches and caches nlink=0 locally; then drop_nlink() fires on an inode already at nlink=0, triggering WARN_ON(!inode->i_nlink). On kernels compiled with panic_on_warn=1, this WARN_ON becomes a kernel panic. The fix, introduced at commits de79c3f3, 574aa0b4, 8d610017, a5a682b0, and 8faccac1 across stable branches, skips v9fs_dec_count() entirely when operating in cacheless mode, eliminating both the WARN_ON and a broader class of concurrent-unlinker nlink races. No CWE was assigned by NVD; the root cause maps to a TOCTOU (Time-of-Check Time-of-Use) race in the cached-vs-live metadata reconciliation path.

RemediationAI

The primary fix is to upgrade to a patched kernel version: 6.6.145, 6.12.97, 6.18.40, 7.1.5, or 7.2-rc1, available from the kernel stable tree at git.kernel.org/stable/c/ via the commits listed above. For systems that cannot be patched immediately and operate 9p filesystem mounts, enabling a cache mode via the mount option cache=meta or cache=loose bypasses the vulnerable code path, since v9fs_dec_count() is only skipped when those flags are absent - note this changes caching semantics and introduces a risk of metadata staleness relative to the server. Administrators who do not require 9p filesystem functionality can unload the 9p and 9pnet kernel modules or prevent their loading via /etc/modprobe.d/ blacklist entries, eliminating the attack surface entirely with no impact to other filesystem types. The NVD advisory is at https://nvd.nist.gov/vuln/detail/CVE-2026-72170.

Vendor StatusVendor

SUSE

Severity: Low
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-58928 vulnerability details – vuln.today

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