CVE-2026-52906 9p: fix access mode flags being ORed instead of replaced

High 7.7 Published Updated

A logic error in the Linux kernel 9p filesystem causes root to lose privileged capabilities, potentially allowing privilege escalation or denial of service.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-52906?

CVE-2026-52906 is a high-severity vulnerability in Linux kernel, published on 9 Jun 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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.

Which versions are affected by CVE-2026-52906?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-52906?

Apply the vendor's patch.

Is CVE-2026-52906 being exploited?

There is no known exploitation of CVE-2026-52906 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2026-52906, GHSA-4vm9-m655-vqf4, UBUNTU-CVE-2026-52906.

Is CVE-2026-52906 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free