CVE-2026-98156

CVE-2026-98156

High · published September 25, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
2.7
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00135 · 2.7th percentile
Published
2026-09-25T15:17Z
Affected products (3)
ProductVersionsFixed in
linux/linux_kernel≥ 4.20, < 6.18.536.18.53
linux/linux_kernel≥ 6.19, < 7.2.77.2.7
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 27 SEP 03:28Z
    EPSS moved — → 0%
    epss
  • 25 SEP 10:36Z
    drm/virtio: use the DMA API for resource backing on Xen
    cvelistv5