OCTOBER 13, 2026
Live Feed
Back to database
Case File

CVE-2026-89793

HIGH · CVSS 7.8 EPSS 0.17% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-16 · Last synced 2026-10-13

CyberRota Analysis

AI-Generated

The vulnerability affects the Linux kernel's ublk subsystem, where the mmap function fails to clear the VM_MAYWRITE flag on read-only mappings, allowing unprivileged userspace daemons to escalate permissions and modify critical kernel data structures. This could lead to corruption of command buffer fields, potentially compromising system integrity and stability. Organizations using Linux systems, especially those relying on ublk for block device management, should prioritize addressing this issue to mitigate risks associated with unauthorized memory access.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Detected Signals
poc

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-89793
Severity
HIGH
CVSS
7.8
EPSS
0.17%
Linux

Original NVD Description

In the Linux kernel, the following vulnerability has been resolved: ublk: clear VM_MAYWRITE on read-only ublk char device mmap ublk_ch_mmap() rejects mmap requests with VM_WRITE set, but never clears VM_MAYWRITE on the resulting read-only mapping. This allows a userspace daemon to mmap the per-queue command buffer PROT_READ, then upgrade it to PROT_WRITE via mprotect(), since VM_MAYWRITE was never cleared. The command buffer holds struct ublksrv_io_desc entries that are kernel-written ABI; a writable mapping lets an unprivileged daemon process corrupt fields such as addr, op_flags, nr_sectors, and start_sector. Same bug class as the drm/panthor and drm/vc4 VM_MAYWRITE fixes, and the 2026-08-13 ptp/vmclock fix (a5edadbae57e). Verified via mprotect() PoC: before the fix, a PROT_READ mapping can be upgraded to PROT_READ|PROT_WRITE and a write into the command buffer corrupts io_desc fields (confirmed under KASAN). After the fix, mprotect() returns -EACCES.