Cloudanix VulnDB

CVE-2026-99004

None

CVSS

—

EPSS

0.2%

Published

Oct 23, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A driver bug in Linux could let certain graphics hardware requests consume all available memory and crash the whole system.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Integer underflow in device-virtual page table preallocation size calculation within drm/imagination allows a mapping crossing a page table boundary to request a huge number of MMU pages, exhausting memory and triggering an OOM panic.

Why it matters to the business

Systems using Imagination/PowerVR GPUs may experience sudden kernel panics and memory exhaustion from local GPU mapping operations, causing denial of service; the issue is only two days old with low exploit maturity so immediate operational impact is limited but kernel updates remain necessary.

How an attack unfolds

An attacker with access to the GPU mapping interface supplies a device address range that crosses a page table boundary, causing the index difference calculation to underflow and request an enormous quantity of MMU pages that exhausts system memory.

How to fix it

Update the Linux kernel to a version containing commit 0a8224058a58 and the follow-on fix that counts tables from device_addr using an inclusive end; rebuild and reboot with the corrected driver.

How to confirm the fix worked

Confirm the presence of the corrected page table sizing logic in pvr_mmu_op_context_create by inspecting kernel source or running targeted mapping tests that previously caused underflow; verify no excessive MMU page allocations occur on boundary-crossing ranges.

Typical attack path

  1. Obtain local access to a system with the vulnerable drm/imagination driver
  2. Issue a GPU device mapping request via the map() interface that spans a page table boundary
  3. Trigger the underflow in page table index difference inside pvr_mmu_op_context_create
  4. Force massive MMU page preallocation leading to OOM panic

How to detect it

Search kernel logs and dmesg for OOM killer invocations or panic messages referencing excessive MMU page allocations or pvr_mmu_op_context_create; correlate with GPU mapping syscalls from untrusted processes.

What your security team should do

  • Prioritize kernel updates for any hosts exposing Imagination GPUs to untrusted local processes
  • Review logs for recent OOM events involving drm or pvr_mmu after applying the fix
  • Limit unprivileged access to GPU device nodes until patches are deployed

The record

In the Linux kernel, the following vulnerability has been resolved: drm/imagination: Size page table preallocation by device address Commit 0a8224058a58 ("drm/imagination: Fix page count for page table for map() interface") passed the device address to pvr_mmu_op_context_create(), but the preallocation is still sized from device_addr + sgt_offset with an exclusive end. The offset into the object's pages has no place in a device-virtual range, and the exclusive end allocates one table too many when the range ends on a table boundary. Count the tables from device_addr and the inclusive end of the range. The new calculation does not take page table indices into account. This fixes another issue with the previous implementation, where the difference between start and end indices could underflow when a mapping crossed a page table boundary. This would lead to the driver preallocating a huge number of MMU pages, exhausting system memory and triggering an out of memory panic. [Alessio: add paragraph to point out OOM bug being fixed, cc stable]

Affected packages

Ecosystem Package Introduced Fixed