Description
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]
Published: 2026-10-23
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Out of memory leading to system crash
Action: Apply Patch
AI Analysis

Impact

The vulnerability lies in the Linux kernel's Imagination Technologies DRM driver, where the page table preallocation size is incorrectly computed. The calculation used the device address plus an exclusive range end, leading to an underflow when the mapping crosses a page table boundary. The resulting mis‑calculation can allocate an excessively large number of MMU pages, exhausting system memory and causing a kernel out‑of‑memory panic. Attackers who can trigger an invalid mapping can thus force the kernel to lose memory, potentially crashing the system.

Affected Systems

All Linux kernel installations that employ the Imagination Technologies DRM driver prior to the inclusion of commit 0a822405. The affected code resides in the kernel's DRM subsystem, and any version before this fix is potentially vulnerable.

Risk and Exploitability

The flaw is a local kernel memory management bug; exploitation requires the ability to request a memory mapping via the Imagination DRM interface. The EPSS score is < 1% and the vulnerability is not listed in the CISA KEV catalog, implying no publicly known exploits. Nevertheless, the bug can trigger a denial‑of‑service by exhausting memory and panicking the kernel, so its impact is medium. The CVSS score of 5.5 indicates a moderate severity, reflecting the risk to availability.

Generated by OpenCVE AI on October 29, 2026 at 20:46 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that incorporates commit 0a822405, which corrects the page table size calculation.
  • Backport the specific patch from commit 0a822405 to the current running kernel if an upgrade is not possible.
  • Temporarily disable the Imagination Technologies DRM driver or any modules that rely on it while a permanent fix is deployed.

Generated by OpenCVE AI on October 29, 2026 at 20:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-680
CWE-682

Thu, 29 Oct 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-191
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Fri, 23 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Fri, 23 Oct 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-680
CWE-682

Fri, 23 Oct 2026 12:45:00 +0000

Type Values Removed Values Added
Description 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]
Title drm/imagination: Size page table preallocation by device address
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-23T12:20:29.122Z

Reserved: 2026-09-25T10:25:14.385Z

Link: CVE-2026-99004

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-23T13:17:22.783

Modified: 2026-10-23T13:17:22.783

Link: CVE-2026-99004

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-23T00:00:00Z

Links: CVE-2026-99004 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T21:00:21Z

Weaknesses
  • CWE-191

    Integer Underflow (Wrap or Wraparound)