CVE-2026-52906

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

High · published June 9, 2026

CVSS v3.1
7.7
EPSS
0%
Percentile
6.9
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.7 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00177 · 6.9th percentile
Published
2026-06-09T12:36Z
EPSS history
Timeline
  • 09 JUN 12:36Z
    9p: fix access mode flags being ORed instead of replaced
    cvelistv5