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.
Published: 2026-09-25
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure and host memory corruption
Action: Patch Now
AI Analysis

Impact

This flaw involves incorrect handling of DMA API usage in the virtio‑gpu subsystem when running on Xen PV guests. Due to a missing Xen domain check, guest‑physical addresses are conveyed to the host via sg_phys(), which the host interprets as addresses belonging to other domains. Consequently, the host can read or overwrite memory that belongs to unrelated guests or the host itself, leading to confidentiality loss and potential host memory corruption. The weakness manifests as an improper access control and information disclosure, involving CWE‑497.

Affected Systems

Affected systems are Linux kernel versions that support the DRM/virtio‑gpu driver, running on Xen PV dom0 hosts where the virtio‑gpu device is instantiated without the iommu_platform flag. The vulnerability has been reproduced on Xen 4.21 with QEMU 8.2 on kernel releases 6.8 and 6.18 LTS. PVH dom0 hosts that use identity mapping are not impacted, but standard PV dom0 installations are exposed.

Risk and Exploitability

The CVSS score of 7.8 indicates moderate‑to‑high severity, while the EPSS score of < 1 % suggests a low current exploitation probability. The vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is a compromised guest that can influence virtio‑gpu configuration, as inferred from the requirement that the guest must supply a guest‑physical framebuffer to the host. Based on the description, it is inferred that an attacker would need a guest capable of controlling virtio‑gpu settings to exploit the flaw. A successful exploit could allow a malicious domain to leak or corrupt host memory or data from other domains, posing a serious risk to multi‑tenant Xen deployments.

Generated by OpenCVE AI on September 30, 2026 at 13:11 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that contains the patch for CVE‑2026‑98156.
  • Configure Xen’s virtio‑gpu to use VIRTIO_F_ACCESS_PLATFORM or set iommu_platform on virtio‑vga to avoid the insecure path.
  • If the kernel cannot be updated or configuration cannot be changed, disable virtio‑gpu usage in affected guests or switch the dom0 host to a PVH configuration.

Generated by OpenCVE AI on September 30, 2026 at 13:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 14 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses NVD-CWE-noinfo
CPEs cpe:2.3:o:linux:linux_kernel:7.3:rc1:*:*:*:*:*:*

Wed, 30 Sep 2026 06:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-200
CWE-279

Tue, 29 Sep 2026 13:15:00 +0000


Fri, 25 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-200
CWE-279

Fri, 25 Sep 2026 21:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-200
CWE-284

Fri, 25 Sep 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H'}


Fri, 25 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-200
CWE-284

Fri, 25 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
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.
Title drm/virtio: use the DMA API for resource backing on Xen
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T14:42:14.960Z

Reserved: 2026-09-25T10:25:14.320Z

Link: CVE-2026-98156

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-09-25T11:17:47.280

Modified: 2026-10-14T17:23:44.937

Link: CVE-2026-98156

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-98156 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-30T13:15:19Z

Weaknesses