CVE-2026-68261 (GCVE-0-2026-68261)
Vulnerability from cvelistv5
Published
2026-08-10 12:01
Modified
2026-08-17 05:01
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In 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 ]---
References
| URL | Tags | |
|---|---|---|
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/imagination/pvr_context.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "ce97192087c659f2e0c0c2a627330c7edcc9eeb3",
"status": "affected",
"version": "d2d79d29bb98a32c511f7339a8e93b47544fdeac",
"versionType": "git"
},
{
"lessThan": "c45fafa69fe3f79e319369cf665da89868e3ef98",
"status": "affected",
"version": "d2d79d29bb98a32c511f7339a8e93b47544fdeac",
"versionType": "git"
},
{
"lessThan": "401fbe3b6bbb6c94c24ee8843b7beed5111491ac",
"status": "affected",
"version": "d2d79d29bb98a32c511f7339a8e93b47544fdeac",
"versionType": "git"
},
{
"lessThan": "cf385cf6e713eba0720651174dac0b2d2f5bb8f8",
"status": "affected",
"version": "d2d79d29bb98a32c511f7339a8e93b47544fdeac",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/gpu/drm/imagination/pvr_context.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.8"
},
{
"lessThan": "6.8",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.101",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.101",
"versionStartIncluding": "6.8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.42",
"versionStartIncluding": "6.8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.6",
"versionStartIncluding": "6.8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.8",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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 ]---"
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:01:53.453Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/ce97192087c659f2e0c0c2a627330c7edcc9eeb3"
},
{
"url": "https://git.kernel.org/stable/c/c45fafa69fe3f79e319369cf665da89868e3ef98"
},
{
"url": "https://git.kernel.org/stable/c/401fbe3b6bbb6c94c24ee8843b7beed5111491ac"
},
{
"url": "https://git.kernel.org/stable/c/cf385cf6e713eba0720651174dac0b2d2f5bb8f8"
}
],
"title": "drm/imagination: fix error checking of pvr_vm_context_lookup()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-68261",
"datePublished": "2026-08-10T12:01:35.600Z",
"dateReserved": "2026-07-30T09:28:09.378Z",
"dateUpdated": "2026-08-17T05:01:53.453Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…