GHSA-72MP-653C-9R74

Vulnerability from github – Published: 2026-08-10 15:33 – Updated: 2026-08-10 15:33
VLAI
Details

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 ]---

Show details on source website

{
  "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": []
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

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.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…