{"id":"CVE-2026-98508","title":"drm/virtio: fix NULL pointer dereference on fence allocation failure","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/virtio: fix NULL pointer dereference on fence allocation failure\n\nvirtio_gpu_fence_alloc() can fail due to memory pressure and return NULL,\nbut its caller like virt…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < 9571ab7493561afb4624d69572a7ebb67d76d10f","Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < a8b83ed4a4b1d04c756f53e375e86d3881f66e72","Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < f2f1683955b95c9b958069da3050f7e8e129ff88","Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < ecced0076b700b5896e52af10d0776be8be36b0d","Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < 846b3c64fe3e77d9db20a7e3e62dbbb637c773e1","Linux 98d3e7c5f757577394f036e0301db9e570342566","Linux 4037dcd70c3335600a2a95ec6229d70859bd37a1","Linux >= 6.1.54 < 6.2","Linux >= 6.5.4 < 6.6","Linux 6.6"],"published":"2026-10-18","updated":"2026-10-18","sourceUpdated":"2026-10-18T15:17:15.082Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-98508","references":[{"url":"https://git.kernel.org/stable/c/9571ab7493561afb4624d69572a7ebb67d76d10f"},{"url":"https://git.kernel.org/stable/c/a8b83ed4a4b1d04c756f53e375e86d3881f66e72"},{"url":"https://git.kernel.org/stable/c/f2f1683955b95c9b958069da3050f7e8e129ff88"},{"url":"https://git.kernel.org/stable/c/ecced0076b700b5896e52af10d0776be8be36b0d"},{"url":"https://git.kernel.org/stable/c/846b3c64fe3e77d9db20a7e3e62dbbb637c773e1"}],"tags":["cve.org"],"ingestedAt":"2026-10-18T15:45:12.288Z","slug":"CVE-2026-98508","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ndrm/virtio: fix NULL pointer dereference on fence allocation failure\n\nvirtio_gpu_fence_alloc() can fail due to memory pressure and return NULL,\nbut its caller like virtio_gpu_init_submit() never checks it. Later,\nvirtio_gpu_init_submit() passes the NULL fence to\nvirtio_gpu_fence_event_create(), which unconditionally dereferences it.\n\nFound when fuzzing the virtio driver with Syzkaller:\n\n\tOops: general protection fault, probably for non-canonical address 0xdffffc0000000012: 0000 [#1] SMP KASAN NOPTI\n\tKASAN: null-ptr-deref in range [0x0000000000000090-0x0000000000000097]\n\tCPU: 1 UID: 0 PID: 9991 Comm: syz.0.121 Not tainted 7.2.0 #4 PREEMPT(full)\n\tHardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014\n\tRIP: 0010:virtio_gpu_fence_event_create drivers/gpu/drm/virtio/virtgpu_submit.c:295 [inline]\n\tRIP: 0010:virtio_gpu_init_submit drivers/gpu/drm/virtio/virtgpu_submit.c:398 [inline]\n\tRIP: 0010:virtio_gpu_execbuffer_ioctl+0xc78/0x1aa0 drivers/gpu/drm/virtio/virtgpu_submit.c:505\n\tCode: 85 ed 0f 85 21 09 00 00 e8 05 5a c9 fb 48 8b 44 24 10 48 8d b8 90 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 9a 0d 00 00 48 8b 44 24 10 4c 89 b0 90 00 00 00\n\tRSP: 0018:ffffc900039dfad0 EFLAGS: 00010216\n\tRAX: dffffc0000000000 RBX: ffffc900039dfdd8 RCX: ffffffff85f6fd3d\n\tRDX: 0000000000000012 RSI: ffffffff85f6fd4b RDI: 0000000000000090\n\tRBP: 0000000000000000 R0virtio_gpu_virgl_process_cmd: ctrl 0x102, error 0x1203\n\tR10: 0000000000000000 R11: 0000000000000000 R12: ffff8880132c4000\n\tR13: 0000000000000000 R14: ffff888073b6c700 R15: 000000000000003b\n\tFS:  00007fab480b96c0(0000) GS:ffff8880eb6e9000(0000) knlGS:0000000000000000\n\tCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n\tCR2: 00007effbf5e55a8 CR3: 0000000048d19000 CR4: 0000000000350ef0\n\tCall Trace:\n\t<TASK>\n\tdrm_ioctl_kernel+0x1f4/0x3e0 drivers/gpu/drm/drm_ioctl.c:817\n\tdrm_ioctl+0x5f4/0xc70 drivers/gpu/drm/drm_ioctl.c:914\n\tvfs_ioctl fs/ioctl.c:51 [inline]\n\t__do_sys_ioctl fs/ioctl.c:597 [inline]\n\t__se_sys_ioctl fs/ioctl.c:583 [inline]\n\t__x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583\n\tdo_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n\tdo_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94\n\tentry_SYSCALL_64_after_hwframe+0x77/0x7f\n\tRIP: 0033:0x7fab471a82bd\n\tCode: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48\n\tRSP: 002b:00007fab480b9018 EFLAGS: 00000246 ORIG_RAX: 0000000000000010\n\tRAX: ffffffffffffffda RBX: 00007fab47435fa0 RCX: 00007fab471a82bd\n\tRDX: 00002000000000c0 RSI: 00000000c0406442 RDI: 0000000000000003\n\tRBP: 00007fab480b9080 R08: 0000000000000000 R09: 0000000000000000\n\tR10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001\n\tR13: 00007fab47436038 R14: 00007fab47435fa0 R15: 00007ffe85ab0740\n\t</TASK>\n\tModules linked in:\n\t---[ end trace 0000000000000000 ]---\n\tRIP: 0010:virtio_gpu_fence_event_create drivers/gpu/drm/virtio/virtgpu_submit.c:295 [inline]\n\tRIP: 0010:virtio_gpu_init_submit drivers/gpu/drm/virtio/virtgpu_submit.c:398 [inline]\n\tRIP: 0010:virtio_gpu_execbuffer_ioctl+0xc78/0x1aa0 drivers/gpu/drm/virtio/virtgpu_submit.c:505\n\tCode: 85 ed 0f 85 21 09 00 00 e8 05 5a c9 fb 48 8b 44 24 10 48 8d b8 90 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 9a 0d 00 00 48 8b 44 24 10 4c 89 b0 90 00 00 00\n\tRSP: 0018:ffffc900039dfad0 EFLAGS: 00010216\n\tRAX: dffffc0000000000 RBX: ffffc900039dfdd8 RCX: ffffffff85f6fd3d\n\tRDX: 0000000000000012 RSI: ffffffff85f6fd4b RDI: 0000000000000090\n\tRBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000\n\tR10: 0000000000000000 R11: 0000000000000000 R12: ffff8880132c4000\n\tR13: 0000000000000000 R14: ffff888073b6c700 R15: 000000000000003b\n\tFS:  00007fab480b96c0(0000) GS:ffff888098ae9000(0000) knlGS:00000000\n---truncated---\n\n## Affected\n\n- `Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < 9571ab7493561afb4624d69572a7ebb67d76d10f`\n- `Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < a8b83ed4a4b1d04c756f53e375e86d3881f66e72`\n- `Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < f2f1683955b95c9b958069da3050f7e8e129ff88`\n- `Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < ecced0076b700b5896e52af10d0776be8be36b0d`\n- `Linux >= 70d1ace56db6c79d39dbe9c0d5244452b67e2fde < 846b3c64fe3e77d9db20a7e3e62dbbb637c773e1`\n- `Linux 98d3e7c5f757577394f036e0301db9e570342566`\n- `Linux 4037dcd70c3335600a2a95ec6229d70859bd37a1`\n- `Linux >= 6.1.54 < 6.2`\n- `Linux >= 6.5.4 < 6.6`\n- `Linux 6.6`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}