CVE-2026-68445
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2026-68445 is a security bypass vulnerability in the Linux kernel's drm/vc4 subsystem that allows local users to upgrade read-only shader buffer object (BO) mappings to writable via mprotect(), bypassing GPU code validation. The flaw affects the Linux kernel from version 4.5 onward, introduced at commit 463873d5701427f2964a0b4b72c45f1f14b6df87. Fixed versions include 6.6.148, 6.12.101, 6.18.42, 7.1.6, and 7.2-rc5. It was published on August 12, 2026, and is estimated as Medium severity; no official CVSS base score has been assigned at this time (GitHub Advisory, EUVD).

Technical details

The root cause is an incomplete access control enforcement (CWE-284) in vc4_gem_object_mmap(): the function correctly rejects writable mappings of validated shader BOs, but fails to clear the VM_MAYWRITE flag on the resulting VMA. Because VM_MAYWRITE remains set, userspace can subsequently call mprotect() to upgrade a read-only mapping to writable without triggering the rejection logic. The GPU's security model relies on shader BOs remaining immutable after validation — the validator inspects instructions once and the GPU trusts them thereafter — so a writable mapping allows an attacker to overwrite shader code post-validation. The fix mirrors the approach used by the i915 driver, which clears VM_MAYWRITE on read-only object mappings to prevent such upgrades (GitHub Advisory).

Impact

A local user with access to the DRM subsystem on an affected system (e.g., a Raspberry Pi or other vc4-based platform) can modify validated GPU shader instructions after they have passed security checks, effectively executing arbitrary shader code on the GPU. This undermines the integrity of the GPU's trusted execution model and could be leveraged to escalate privileges or cause unintended GPU behavior. The vulnerability is limited to local access and does not directly expose system memory to remote attackers, but it represents a meaningful integrity and availability risk on affected embedded and single-board computer platforms (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation as of the disclosure date. The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation requires local access to the DRM subsystem, significantly limiting the attack surface (GitHub Advisory).

Exploitation steps

  1. Gain local access: Obtain a local user account on a system running an affected Linux kernel version (4.5 through pre-patch) with a vc4-based GPU (e.g., Raspberry Pi).
  2. Open the DRM device: Open the vc4 DRM device node (e.g., /dev/dri/card0) and create or obtain a handle to a validated shader buffer object (BO).
  3. Map the BO read-only: Use the DRM mmap() interface to map the validated shader BO into userspace with read-only permissions (PROT_READ). The kernel allows this mapping and does not clear VM_MAYWRITE.
  4. Upgrade mapping with mprotect(): Call mprotect() on the mapped region to add write permissions (PROT_WRITE). Because VM_MAYWRITE was not cleared, the kernel permits this upgrade without re-invoking the shader validator.
  5. Overwrite shader instructions: Write arbitrary GPU shader instructions into the now-writable mapping, replacing the previously validated code.
  6. Trigger GPU execution: Submit a GPU job referencing the modified shader BO. The GPU executes the attacker-controlled instructions, bypassing the validator's security checks (GitHub Advisory).

Indicators of compromise

  • Logs: Unexpected mprotect() syscalls on memory regions mapped from DRM device nodes (visible in strace output or auditd logs with syscall auditing enabled).
  • Process Behavior: Userspace processes opening /dev/dri/card0 or similar vc4 DRM nodes and subsequently calling mprotect() to add write permissions to previously read-only GPU buffer mappings.
  • File System: Presence of unusual or unauthorized GPU compute/shader workloads submitted via the vc4 DRM interface on systems not expected to run such workloads.

Mitigation and workarounds

Apply the upstream kernel patches that clear VM_MAYWRITE in vc4_gem_object_mmap() on the read-only path. Fixed versions are 6.6.148, 6.12.101, 6.18.42, 7.1.6, and 7.2-rc5 (mainline). The relevant fix commits are 9f0ee411fc2d, 019e6ad247f7, 6deaa317201851, fe168ef1d232d7, and 0c9e6367639548. As a workaround where patching is not immediately possible, restrict unprivileged user access to the DRM subsystem (e.g., via device node permissions or removing users from the video/render groups) (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-68454HIGH8.8
  • Linux Kernel logoLinux Kernel
  • kernel-debug-devel-matched
NoYesAug 13, 2026
CVE-2026-68452HIGH7.8
  • Linux Kernel logoLinux Kernel
  • kernel-headers
NoYesAug 13, 2026
CVE-2026-68451HIGH7.8
  • Linux Kernel logoLinux Kernel
  • linux-oracle-5.15
NoYesAug 13, 2026
CVE-2026-68453HIGH7.1
  • Linux Kernel logoLinux Kernel
  • kernel-uki-virt-addons
NoYesAug 13, 2026
CVE-2026-68450NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fips
NoYesAug 12, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management