CVE-2026-93074 dax/fsdev: use __va(phys) for kaddr in direct_access

High 7.8 Published Updated

Incorrect kernel virtual address calculation in DAX direct access for multi-range devices could lead to memory access errors.

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

What is CVE-2026-93074?

CVE-2026-93074 is a high-severity vulnerability in Linux, published on 17 Sep 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:

dax/fsdev: use __va(phys) for kaddr in direct_access

Use __va(phys) instead of virt_addr + linear_offset for the kaddr return in __fsdev_dax_direct_access(). The previous code added a device-linear byte offset to virt_addr (which is __va of ranges[0]), but for multi-range devices with physical gaps between ranges, this linear arithmetic crosses the gap and produces a wrong kernel virtual address. Using __va(phys) where phys comes from dax_pgoff_to_phys() is correct for any range layout because the direct map translates each physical address independently.

This leaves dev_dax->virt_addr write-only, so remove the field (suggested by Dave Jiang).

Which versions are affected by CVE-2026-93074?

How do I fix CVE-2026-93074?

Apply the vendor's patch.

Is CVE-2026-93074 being exploited?

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

Sources

Also known as DEBIAN-CVE-2026-93074, GHSA-hvvg-v8hj-gpv8, UBUNTU-CVE-2026-93074.

Is CVE-2026-93074 in your software?

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

Check your SBOMs for free