CVE-2026-68261 (GCVE-0-2026-68261)
Vulnerability from cvelistv5
Published
2026-08-10 12:01
Modified
2026-08-17 05:01
Severity ?
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 ]---
Impacted products
Vendor Product Version
Linux Linux Version: d2d79d29bb98a32c511f7339a8e93b47544fdeac
Version: d2d79d29bb98a32c511f7339a8e93b47544fdeac
Version: d2d79d29bb98a32c511f7339a8e93b47544fdeac
Version: d2d79d29bb98a32c511f7339a8e93b47544fdeac
Create a notification for this product.
Show details on NVD website


{
  "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"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

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…