CVE-2026-98609

drm/virtio: fix object leak when drm_gem_handle_create() fails

State
Published
Severity
Not scored
Published
Oct 18, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • dc5698e80cf724770283e10414054662bdf6ccfa to before 13423a058187c2039aa8cb235c916be4477221b7Affected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before 687be2f8b5e0e0ca9a7028f8f6413d0ed3fbb9dcAffected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before 264ae8ac8fd625b6c118baf16c111adeee2ec632Affected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before e2edd2d78d2cf8446de017adec9598feefed3297Affected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before 372e9c3d45f664a2c000427ccbf6cdc2f99b3170Affected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before a93dce15dfef200c346b050a2acbed516cc62706Affected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before f75066c79d1eec453c0d386ef8636873d1e11f2cAffected
  • dc5698e80cf724770283e10414054662bdf6ccfa to before 36570ef2244cc4d7563b1f0157bc0f032498638cAffected
LinuxLinux
  • 4.2Affected
  • before 4.2Not affected
  • 5.10.271 through 5.10.*Not affected
  • 5.15.222 through 5.15.*Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.55 through 6.18.*Not affected
  • 7.2.9 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.