Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2026-98606

Опубликовано: 18 окт. 2026
Источник: redhat
CVSS3: 7
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors virtio_gpu_vram_create() frees the object with a bare kfree(vram) on both error paths after drm_gem_private_object_init() has run, and on the second one after drm_gem_create_mmap_offset() has linked obj->vma_node into the device's VMA offset manager. The freed object stays in that interval tree, so a later lookup or insertion walks freed memory, and the dma_resv and gpuva lock are never destroyed. Call drm_gem_object_release() before kfree() on both paths.

A flaw was found in the Linux kernel's VirtIO GPU driver. During error handling when creating video memory resources, the driver deallocates memory without properly releasing the object from kernel memory tracking structures. A local user can exploit this vulnerability to trigger a use-after-free condition when the freed memory is subsequently accessed, leading to a Denial of Service (DoS) or potentially arbitrary code execution.

Отчет

This vulnerability is rated Moderate because exploitation requires local authenticated access inside a virtual guest configured with a VirtIO GPU adapter, alongside inducing specific resource allocation failure conditions. Physical hardware systems and virtual instances not utilizing VirtIO virtualized graphics devices are not exposed. On systems configured with the device, an authenticated local attacker with direct rendering access could cause a kernel crash or potentially elevate privileges.

Меры по смягчению последствий

--- CME Mitigation Guidance (2026-10-20) --- Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure. The highest-value action is to release the GEM object via drm_gem_object_release() before deallocating memory on virtio_gpu_vram_create() error paths in the VirtIO GPU driver: upgrade to the fixed Kernel/Kernel Rt/Kernel Ivos Qualcomm/Openshift/Ose Rhel Coreos builds, which call drm_gem_object_release() before kfree() on both error paths in virtio_gpu_vram_create(), closing crafted VirtIO GPU VRAM creation request triggering an allocation or ID allocation error. Until patched, this is only a concern on Linux systems with the VirtIO GPU driver enabled and local user access to VirtIO GPU device nodes — Non-Linux platforms and environments without the VirtIO GPU driver enabled are unaffected — so Restrict filesystem permissions on VirtIO GPU device nodes such as /dev/dri/card* and /dev/dri/renderD* to prevent untrusted local users from submitting GPU allocation ioctls. As a compensating measure, Enable runtime memory error detection such as KASAN to detect use-after-free access when the freed GEM object VMA node is traversed in the interval tree, Enable kernel SLAB freelist hardening and integrity validation to impede predictable heap exploitation following the bare kfree call, and Enforce SELinux in enforcing mode to block unauthorized process domains from opening VirtIO GPU device nodes. These controls limit blast radius and contain exploitation, but they do not fix the underlying error-handling use-after-free defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-301 SELinux (Enforcing Mode) (medium)

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 10kernelAffected
Red Hat Enterprise Linux 6kernelNot affected
Red Hat Enterprise Linux 7kernelNot affected
Red Hat Enterprise Linux 7kernel-rtNot affected
Red Hat Enterprise Linux 8kernelAffected
Red Hat Enterprise Linux 8kernel-rtAffected
Red Hat Enterprise Linux 9kernelAffected
Red Hat Enterprise Linux 9kernel-rtAffected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-8Affected
Red Hat OpenShift Container Platform 4openshift/ose-rhel-coreos-9Affected

Показывать по

Дополнительная информация

Статус:

Moderate
Дефект:
CWE-825
https://bugzilla.redhat.com/show_bug.cgi?id=2554921kernel: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors

EPSS

Процентиль: 11%
0.00211
Низкий

7 High

CVSS3

Связанные уязвимости

ubuntu
21 день назад

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors virtio_gpu_vram_create() frees the object with a bare kfree(vram) on both error paths after drm_gem_private_object_init() has run, and on the second one after drm_gem_create_mmap_offset() has linked obj->vma_node into the device's VMA offset manager. The freed object stays in that interval tree, so a later lookup or insertion walks freed memory, and the dma_resv and gpuva lock are never destroyed. Call drm_gem_object_release() before kfree() on both paths.

nvd
21 день назад

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors virtio_gpu_vram_create() frees the object with a bare kfree(vram) on both error paths after drm_gem_private_object_init() has run, and on the second one after drm_gem_create_mmap_offset() has linked obj->vma_node into the device's VMA offset manager. The freed object stays in that interval tree, so a later lookup or insertion walks freed memory, and the dma_resv and gpuva lock are never destroyed. Call drm_gem_object_release() before kfree() on both paths.

CVSS3: 6.5
msrc
19 дней назад

drm/virtio: release the GEM object on virtio_gpu_vram_create() errors

debian
21 день назад

In the Linux kernel, the following vulnerability has been resolved: d ...

github
21 день назад

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors virtio_gpu_vram_create() frees the object with a bare kfree(vram) on both error paths after drm_gem_private_object_init() has run, and on the second one after drm_gem_create_mmap_offset() has linked obj->vma_node into the device's VMA offset manager. The freed object stays in that interval tree, so a later lookup or insertion walks freed memory, and the dma_resv and gpuva lock are never destroyed. Call drm_gem_object_release() before kfree() on both paths.

EPSS

Процентиль: 11%
0.00211
Низкий

7 High

CVSS3