{"api_version":"1","generated_at":"2026-08-14T09:46:06+00:00","cve":"CVE-2026-68261","urls":{"html":"https://cve.report/CVE-2026-68261","api":"https://cve.report/api/cve/CVE-2026-68261.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-68261","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-68261"},"summary":{"title":"drm/imagination: fix error checking of pvr_vm_context_lookup()","description":"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 ]---","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-10 13:20:14","updated_at":"2026-08-10 13:20:14"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/c45fafa69fe3f79e319369cf665da89868e3ef98","name":"https://git.kernel.org/stable/c/c45fafa69fe3f79e319369cf665da89868e3ef98","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ce97192087c659f2e0c0c2a627330c7edcc9eeb3","name":"https://git.kernel.org/stable/c/ce97192087c659f2e0c0c2a627330c7edcc9eeb3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cf385cf6e713eba0720651174dac0b2d2f5bb8f8","name":"https://git.kernel.org/stable/c/cf385cf6e713eba0720651174dac0b2d2f5bb8f8","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/401fbe3b6bbb6c94c24ee8843b7beed5111491ac","name":"https://git.kernel.org/stable/c/401fbe3b6bbb6c94c24ee8843b7beed5111491ac","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-68261","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-68261","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d2d79d29bb98a32c511f7339a8e93b47544fdeac ce97192087c659f2e0c0c2a627330c7edcc9eeb3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d2d79d29bb98a32c511f7339a8e93b47544fdeac c45fafa69fe3f79e319369cf665da89868e3ef98 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d2d79d29bb98a32c511f7339a8e93b47544fdeac 401fbe3b6bbb6c94c24ee8843b7beed5111491ac git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d2d79d29bb98a32c511f7339a8e93b47544fdeac cf385cf6e713eba0720651174dac0b2d2f5bb8f8 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.8","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.8 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.101 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.42 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.6 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"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-rc3","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-rc3","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-10T12:01:35.600Z","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-10T12:01:35.600Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-10 13:20:14","lastModifiedDate":"2026-08-10 13:20:14","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"68261","Ordinal":"1","Title":"drm/imagination: fix error checking of pvr_vm_context_lookup()","CVE":"CVE-2026-68261","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"68261","Ordinal":"1","NoteData":"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 ]---","Type":"Description","Title":"drm/imagination: fix error checking of pvr_vm_context_lookup()"}]}}}