CVE-2026-98156 drm/virtio: use the DMA API for resource backing on Xen

High 7.8 Published Updated

A Linux kernel flaw in virtio-gpu allows Xen PV guests to leak memory from other domains due to incorrect DMA API usage.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-98156?

CVE-2026-98156 is a high-severity vulnerability in Linux kernel, published on 25 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

drm/virtio: use the DMA API for resource backing on Xen

On a Xen PV domain page addresses bear no relation to the real machine addresses the host would have to use to reach it. virtio_ring.c handles this correctly, vring_use_map_api() returns true for any xen_domain() regardless of VIRTIO_F_ACCESS_PLATFORM.

virtio-gpu makes the same decision independently, but its copy looks only at the feature bit:

bool use_dma_api = !virtio_has_dma_quirk(vgdev->vdev);

QEMU does not set iommu_platform on virtio-vga by default, so VIRTIO_F_ACCESS_PLATFORM is not negotiated, use_dma_api is false, and virtio_gpu_object_shmem_init() describes the framebuffer's backing pages to the host with sg_phys(). Those are guest-physical addresses. In a PV domain they resolve, on the host side, to pages belonging to some other domain, so the host scans out unrelated memory.

Move the decision into virtio_gpu_use_dma_api() and give it the xen_domain() check, like vring_use_map_api() has. This additionally enables the dma_sync_sgtable_for_device() calls in virtgpu_vq.c, which are required for correctness whenever swiotlb is in play.

Reproduced with a Xen 4.21 PV dom0 nested inside QEMU 8.2 with virtio-vga, on both a distro 6.8 kernel and 6.18 LTS. A PVH dom0 works fine and doesn't need this fix because it is identity-mapped, only PV dom0s are affected.

Which versions are affected by CVE-2026-98156?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2026-98156?

Apply the vendor's patch.

Is CVE-2026-98156 being exploited?

There is no known exploitation of CVE-2026-98156 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as AZL-108225, BELL-CVE-2026-98156, DEBIAN-CVE-2026-98156, GHSA-h2rc-2f34-85j8, UBUNTU-CVE-2026-98156.

Is CVE-2026-98156 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free