CVE-2026-68261: drm/imagination: fix error checking of pvr_vm_context_lookup()

Published Aug 10, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

drm/imagination: fix error checking of pvrvmcontextlookup()

Since pvrvmcontextlookup() returns either NULL or a pointer, then stop using ISERR() for checking the return value.

Using ISERR() leads to the kernel oops reported below. It can be reproduced by passing an invalid VM context handle from userspace to the DRMIOCTLPVRCREATECONTEXT ioctl.

[ 92.733119] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000148 [ 92.742042] Mem abort info: [ 92.744890] ESR = 0x0000000096000004 [ 92.748686] EC = 0x25: DABT (current EL), IL = 32 bits [ 92.754020] SET = 0, FnV = 0 [ 92.757154] EA = 0, S1PTW = 0 [ 92.760337] FSC = 0x04: level 0 translation fault [ 92.765243] Data abort info: [ 92.768129] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 92.773626] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 92.778763] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 92.784098] user pgtable: 4k pages, 48-bit VAs, pgdp=000000088ed23000 [ 92.790550] [0000000000000148] pgd=0000000000000000, p4d=0000000000000000 [ 92.797381] Internal error: Oops: 0000000096000004 [#1] SMP [ 92.803027] Modules linked in: powervr [ 92.852533] CPU: 0 UID: 0 PID: 409 Comm: triangle Not tainted 7.1.0-rc5-g98b46e693b91 #1 PREEMPT [ 92.861385] Hardware name: Texas Instruments AM68 SK (DT) [ 92.866766] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 92.873709] pc : pvrvmgetfwmemcontext+0x0/0xc [powervr] [ 92.879376] lr : pvrqueuecreate+0x26c/0x440 [powervr] [ 92.884595] sp : ffff8000837fbb00 [ 92.887895] x29: ffff8000837fbb60 x28: 0000000000000000 x27: ffff8000837fbce8 [ 92.895015] x26: ffff000807f61a40 x25: ffff000807f61a00 x24: ffff000807f64400 [ 92.902135] x23: ffff00080a5ab000 x22: ffff800079b24730 x21: ffff000807f61800 [ 92.909254] x20: ffff00080999e680 x19: 0000000000000000 x18: 0000000000000000 [ 92.916373] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000001 [ 92.923492] x14: 0000000000000000 x13: 0000000000000002 x12: ffff80008145b298 [ 92.930611] x11: ffff8000844e5000 x10: ffff80008165a130 x9 : 0000000000000100 [ 92.937730] x8 : 0000000000000001 x7 : ffff0008076b27e0 x6 : ffff00080ec43b7c [ 92.944850] x5 : ffff00080ec43b78 x4 : 0000000000000000 x3 : ffff00080999e680 [ 92.951968] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 [ 92.959088] Call trace: [ 92.961521] pvrvmgetfwmemcontext+0x0/0xc [powervr] (P) [ 92.967173] pvrcontextcreate+0x190/0x410 [powervr] [ 92.972218] pvrioctlcreatecontext+0x44/0x8c [powervr] [ 92.977608] drmioctlkernel+0xbc/0x124 [drm] [ 92.982127] drmioctl+0x1f8/0x4dc [drm] [ 92.986098] arm64sysioctl+0xac/0x104 [ 92.990102] invokesyscall+0x54/0x10c [ 92.993842] el0svccommon.constprop.0+0x40/0xe0 [ 92.998532] doel0svc+0x1c/0x28 [ 93.001835] el0svc+0x38/0x11c [ 93.004969] el0t64synchandler+0xa0/0xe4 [ 93.009139] el0t64sync+0x198/0x19c [ 93.012792] Code: aa1703e0 d2800014 95cb0ba4 17ffffe8 (f940a400) [ 93.018869] ---[ end trace 0000000000000000 ]---

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    In the drm/imagination (powervr) code path for DRM_IOCTL_PVR_CREATE_CONTEXT, update error checking of pvr_vm_context_lookup() so that it correctly handles the return value being either NULL or a pointer (i.e., do not use IS_ERR(); stop on NULL).

    Linux kernel (drm/imagination powervr) Error checking for pvr_vm_context_lookup() in pvr_vm_get_fw_mem_context / DRM_IOCTL_PVR_CREATE_CONTEXT path = Use NULL-checking instead of IS_ERR()

Event History

Aug 10, 2026
CVE Published
via MITRE·12:01 PM
Data Sourced
via MITRE·12:01 PM
Description
Data Sourced
via NVD·01:20 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-68261?

The severity of CVE-2026-68261 is rated as 45.

2

What type of vulnerability is CVE-2026-68261?

CVE-2026-68261 is classified as a Null Pointer Dereference vulnerability.

3

How do I fix CVE-2026-68261?

To fix CVE-2026-68261, ensure that the error checking for pvr_vm_context_lookup() is modified to prevent the use of IS_ERR() on its return value.

4

Which component is affected by CVE-2026-68261?

CVE-2026-68261 affects the Linux kernel's DRM (Direct Rendering Manager) subsystem specifically related to Imagination Technologies.

5

When was CVE-2026-68261 published?

CVE-2026-68261 was published on August 10, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203