Skip to content
Heist/ feed
Unrated

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

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

CVE-2026-98609

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-98609

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "13423a058187c2039aa8cb235c916be4477221b7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "687be2f8b5e0e0ca9a7028f8f6413d0ed3fbb9dc",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "264ae8ac8fd625b6c118baf16c111adeee2ec632",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "e2edd2d78d2cf8446de017adec9598feefed3297",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "372e9c3d45f664a2c000427ccbf6cdc2f99b3170",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "a93dce15dfef200c346b050a2acbed516cc62706",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "f75066c79d1eec453c0d386ef8636873d1e11f2c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dc5698e80cf724770283e10414054662bdf6ccfa",
        "lessThan": "36570ef2244cc4d7563b1f0157bc0f032498638c",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/virtio/virtgpu_gem.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.2"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.2",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.271",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.222",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.189",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.158",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.112",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.55",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.9",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/virtio/virtgpu_gem.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-98609

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#38628 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement