Skip to main content

Linux Kernel CVE-2026-52906

| EUVDEUVD-2026-35415 HIGH
2026-06-09 Linux GHSA-4vm9-m655-vqf4
7.7
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.7 HIGH
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
5.1 MEDIUM

Local 9p mount with non-default access= requires CAP_SYS_ADMIN (PR:H); integrity high due to UID misattribution on root operations, confidentiality low (metadata/ownership leakage), no availability impact.

3.1 AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:N
4.0 AV:L/AC:L/AT:P/PR:H/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE
4.2 MEDIUM
AV:L/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
Analysis Generated
Jun 14, 2026 - 06:39 vuln.today
CVSS changed
Jun 14, 2026 - 06:22 NVD
7.7 (HIGH)
CVE Published
Jun 09, 2026 - 12:36 nvd
UNKNOWN (no severity yet)
CVE Published
Jun 09, 2026 - 12:36 cve.org
HIGH 7.7

DescriptionCVE.org

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

9p: fix access mode flags being ORed instead of replaced

Since commit 1f3e4142c0eb ("9p: convert to the new mount API"), v9fs_apply_options() applies parsed mount flags with |= onto flags already set by v9fs_session_init(). For 9P2000.L, session_init sets V9FS_ACCESS_CLIENT as the default, so when the user mounts with "access=user", both bits end up set. Access mode checks compare against exact values, so having both bits set matches neither mode.

This causes v9fs_fid_lookup() to fall through to the default switch case, using INVALID_UID (nobody/65534) instead of current_fsuid() for all fid lookups. Root is then unable to chown or perform other privileged operations.

Fix by clearing the access mask before applying the user's choice.

AnalysisAI

Privilege escalation via UID confusion in the Linux kernel's 9p filesystem client allows local users mounting 9P2000.L shares with non-default access modes to be silently demoted to the INVALID_UID (nobody/65534) for all fid lookups, breaking root's ability to chown or perform privileged file operations over the mount. Introduced by commit 1f3e4142c0eb during the conversion of 9p to the new mount API, the bug causes v9fs_apply_options() to OR user-supplied access flags onto the default V9FS_ACCESS_CLIENT instead of replacing them. EPSS is 0.02% and the issue is not on CISA KEV; no public exploit identified at time of analysis.

Technical ContextAI

The 9p protocol (Plan 9 Filesystem Protocol) is implemented in fs/9p/ of the Linux kernel and is commonly used to share host directories into virtual machines (notably QEMU/KVM and WSL2). The 9P2000.L dialect is the Linux-extended variant. v9fs_session_init() seeds the session's access mode bitfield with the default V9FS_ACCESS_CLIENT for 9P2000.L; v9fs_apply_options(), rewritten as part of the new-style mount API conversion in commit 1f3e4142c0eb, then merges parsed mount options with bitwise OR rather than first clearing the access mask. Because access mode checks in v9fs_fid_lookup() use exact-value comparisons against the bitfield, mounting with access=user (or any other non-default access= value) leaves two bits set simultaneously, which matches no defined mode and falls through to the default branch that substitutes INVALID_UID (65534). Root-cause class is essentially a state-management/initialization bug in option parsing - there is no CWE assigned, but this maps to CWE-665 (Improper Initialization) and has downstream authorization-impact characteristics.

RemediationAI

Vendor-released patch: Linux 7.0.4 (stable) and 7.1-rc1 (mainline), corresponding to kernel.org commits b8f037e87a083291190204b959cda417aaf01058 and da2346a48a5a1fed86c3fe3d73c0b60e7b3027c9 - upgrade to a distribution kernel that includes these commits. As a workaround on unpatched kernels, avoid passing a non-default access= option to 9p mounts so that the default V9FS_ACCESS_CLIENT remains in effect (this preserves the bug-free configuration but forces all users on the host to share client-side credentials, which may be unacceptable for multi-tenant guests); alternatively, restrict who can mount 9p filesystems by removing 9p from /etc/fstab user-mountable entries, blacklisting the 9p and 9pnet modules (modprobe.d) where 9p is not required, or denying 9p mounts via AppArmor/SELinux/seccomp policy - note these mitigations break legitimate VirtFS/QEMU and WSL-style use cases. Cite advisory URLs https://git.kernel.org/stable/c/b8f037e87a083291190204b959cda417aaf01058 and https://git.kernel.org/stable/c/da2346a48a5a1fed86c3fe3d73c0b60e7b3027c9.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected

Share

CVE-2026-52906 vulnerability details – vuln.today

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