GHSA-72MP-653C-9R74
Vulnerability from github – Published: 2026-08-10 15:33 – Updated: 2026-08-10 15:33In the Linux kernel, the following vulnerability has been resolved:
drm/imagination: fix error checking of pvr_vm_context_lookup()
Since pvr_vm_context_lookup() returns either NULL or a pointer, then stop using IS_ERR() for checking the return value.
Using IS_ERR() leads to the kernel oops reported below. It can be reproduced by passing an invalid VM context handle from userspace to the DRM_IOCTL_PVR_CREATE_CONTEXT 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 : pvr_vm_get_fw_mem_context+0x0/0xc [powervr] [ 92.879376] lr : pvr_queue_create+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] pvr_vm_get_fw_mem_context+0x0/0xc [powervr] (P) [ 92.967173] pvr_context_create+0x190/0x410 [powervr] [ 92.972218] pvr_ioctl_create_context+0x44/0x8c [powervr] [ 92.977608] drm_ioctl_kernel+0xbc/0x124 [drm] [ 92.982127] drm_ioctl+0x1f8/0x4dc [drm] [ 92.986098] __arm64_sys_ioctl+0xac/0x104 [ 92.990102] invoke_syscall+0x54/0x10c [ 92.993842] el0_svc_common.constprop.0+0x40/0xe0 [ 92.998532] do_el0_svc+0x1c/0x28 [ 93.001835] el0_svc+0x38/0x11c [ 93.004969] el0t_64_sync_handler+0xa0/0xe4 [ 93.009139] el0t_64_sync+0x198/0x19c [ 93.012792] Code: aa1703e0 d2800014 95cb0ba4 17ffffe8 (f940a400) [ 93.018869] ---[ end trace 0000000000000000 ]---
{
"affected": [],
"aliases": [
"CVE-2026-68261"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-08-10T13:20:14Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/imagination: fix error checking of pvr_vm_context_lookup()\n\nSince pvr_vm_context_lookup() returns either NULL or a pointer, then stop\nusing IS_ERR() for checking the return value.\n\nUsing IS_ERR() leads to the kernel oops reported below. It can be\nreproduced by passing an invalid VM context handle from userspace to the\nDRM_IOCTL_PVR_CREATE_CONTEXT ioctl.\n\n[ 92.733119] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000148\n[ 92.742042] Mem abort info:\n[ 92.744890] ESR = 0x0000000096000004\n[ 92.748686] EC = 0x25: DABT (current EL), IL = 32 bits\n[ 92.754020] SET = 0, FnV = 0\n[ 92.757154] EA = 0, S1PTW = 0\n[ 92.760337] FSC = 0x04: level 0 translation fault\n[ 92.765243] Data abort info:\n[ 92.768129] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000\n[ 92.773626] CM = 0, WnR = 0, TnD = 0, TagAccess = 0\n[ 92.778763] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0\n[ 92.784098] user pgtable: 4k pages, 48-bit VAs, pgdp=000000088ed23000\n[ 92.790550] [0000000000000148] pgd=0000000000000000, p4d=0000000000000000\n[ 92.797381] Internal error: Oops: 0000000096000004 [#1] SMP\n[ 92.803027] Modules linked in: powervr\n[ 92.852533] CPU: 0 UID: 0 PID: 409 Comm: triangle Not tainted 7.1.0-rc5-g98b46e693b91 #1 PREEMPT\n[ 92.861385] Hardware name: Texas Instruments AM68 SK (DT)\n[ 92.866766] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)\n[ 92.873709] pc : pvr_vm_get_fw_mem_context+0x0/0xc [powervr]\n[ 92.879376] lr : pvr_queue_create+0x26c/0x440 [powervr]\n[ 92.884595] sp : ffff8000837fbb00\n[ 92.887895] x29: ffff8000837fbb60 x28: 0000000000000000 x27: ffff8000837fbce8\n[ 92.895015] x26: ffff000807f61a40 x25: ffff000807f61a00 x24: ffff000807f64400\n[ 92.902135] x23: ffff00080a5ab000 x22: ffff800079b24730 x21: ffff000807f61800\n[ 92.909254] x20: ffff00080999e680 x19: 0000000000000000 x18: 0000000000000000\n[ 92.916373] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000001\n[ 92.923492] x14: 0000000000000000 x13: 0000000000000002 x12: ffff80008145b298\n[ 92.930611] x11: ffff8000844e5000 x10: ffff80008165a130 x9 : 0000000000000100\n[ 92.937730] x8 : 0000000000000001 x7 : ffff0008076b27e0 x6 : ffff00080ec43b7c\n[ 92.944850] x5 : ffff00080ec43b78 x4 : 0000000000000000 x3 : ffff00080999e680\n[ 92.951968] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000\n[ 92.959088] Call trace:\n[ 92.961521] pvr_vm_get_fw_mem_context+0x0/0xc [powervr] (P)\n[ 92.967173] pvr_context_create+0x190/0x410 [powervr]\n[ 92.972218] pvr_ioctl_create_context+0x44/0x8c [powervr]\n[ 92.977608] drm_ioctl_kernel+0xbc/0x124 [drm]\n[ 92.982127] drm_ioctl+0x1f8/0x4dc [drm]\n[ 92.986098] __arm64_sys_ioctl+0xac/0x104\n[ 92.990102] invoke_syscall+0x54/0x10c\n[ 92.993842] el0_svc_common.constprop.0+0x40/0xe0\n[ 92.998532] do_el0_svc+0x1c/0x28\n[ 93.001835] el0_svc+0x38/0x11c\n[ 93.004969] el0t_64_sync_handler+0xa0/0xe4\n[ 93.009139] el0t_64_sync+0x198/0x19c\n[ 93.012792] Code: aa1703e0 d2800014 95cb0ba4 17ffffe8 (f940a400)\n[ 93.018869] ---[ end trace 0000000000000000 ]---",
"id": "GHSA-72mp-653c-9r74",
"modified": "2026-08-10T15:33:43Z",
"published": "2026-08-10T15:33:43Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-68261"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/401fbe3b6bbb6c94c24ee8843b7beed5111491ac"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c45fafa69fe3f79e319369cf665da89868e3ef98"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/ce97192087c659f2e0c0c2a627330c7edcc9eeb3"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/cf385cf6e713eba0720651174dac0b2d2f5bb8f8"
}
],
"schema_version": "1.4.0",
"severity": []
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.