Object leak in Linux kernel virtio GPU driver on handle create error
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 5 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel from 4.2 contains a flaw in the drm/virtio GPU driver. When drm_gem_handle_create() fails, the cleanup releases the buffer object incorrectly instead of dropping its reference, so the object is never freed. The shmem pages, scatter-gather table and host-side resource are leaked, which lets a leak of kernel memory accumulate over time.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix object leak when drm_gem_handle_create() fails virtio_gpu_gem_create() owns the reference taken by virtio_gpu_object_create(). On the drm_gem_handle_create() error path it calls drm_gem_object_release() instead of dropping that reference. drm_gem_object_release() is the inverse of drm_gem_object_init() and does not touch the reference count or call obj->funcs->free(), so it is only correct as the last step of a destructor, as in virtio_gpu_cleanup_object(). Using it here leaves the bo at refcount 1 with no remaining reference, so virtio_gpu_free_object() never runs and the shmem pages, sg table and virtio_gpu_object are leaked. Since virtio_gpu_object_create() has already set bo->created, VIRTIO_GPU_CMD_RESOURCE_UNREF is not queued either, leaking the host-side resource and the resource id. drm_gem_handle_create_tail() drops the handle reference on all of its internal error paths, so the caller only has to drop its own. Use drm_gem_object_put(), matching the success path below.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Upgrade the Linux kernel to 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9 or 7.3, using the fixed version for the branch in use. Red Hat Enterprise Linux 8, 9 and 10 and Red Hat OpenShift Container Platform 4 and 5 are affected, and Red Hat lists no remediation plan available for them.
Written with Claude Haiku 5.5 from the sources below · 2026-11-07
- Fix · CNA Linux (Linux) Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.55, 7.2.9, 7.3
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 8 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Not affected: 2 products
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
Timeline
- 2026-10-18 Threatist record created from CVE-2026-98609
- 2026-10-18 Alias added: GHSA-4mj5-5wcx-f4jj
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
- 2026-11-07 Affected versions changed · Red Hat
References
Other 8
- https://git.kernel.org/stable/c/13423a058187c2039aa8cb235c916be4477221b7
- https://git.kernel.org/stable/c/687be2f8b5e0e0ca9a7028f8f6413d0ed3fbb9dc
- https://git.kernel.org/stable/c/264ae8ac8fd625b6c118baf16c111adeee2ec632
- https://git.kernel.org/stable/c/e2edd2d78d2cf8446de017adec9598feefed3297
- https://git.kernel.org/stable/c/372e9c3d45f664a2c000427ccbf6cdc2f99b3170
- https://git.kernel.org/stable/c/a93dce15dfef200c346b050a2acbed516cc62706
- https://git.kernel.org/stable/c/f75066c79d1eec453c0d386ef8636873d1e11f2c
- https://git.kernel.org/stable/c/36570ef2244cc4d7563b1f0157bc0f032498638c
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-98609 · CVE Program
- CVE-2026-98609 · NVD
- FIRST EPSS
- GHSA-4mj5-5wcx-f4jj · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98609 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences