Skip to main content

Linux Kernel CVE-2026-98156

| EUVDEUVD-2026-86987 HIGH
2026-09-25 Linux GHSA-h2rc-2f34-85j8
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Run guest as Xen PV domain with virtio-vga
  2. Delivery
    Driver skips DMA API, uses guest-physical framebuffer addresses
  3. Exploit
    Host resolves addresses to another domain's pages
  4. Execution
    Host scans out unrelated cross-domain memory
  5. Impact
    Foreign domain memory disclosed on guest display

Vulnerability Assessment

Exploitation Conditions

Requires the guest to run as a Xen PV domain (PVH and HVM/identity-mapped domains are NOT affected because their guest-physical addresses map correctly). It further requires the virtio-gpu/virtio-vga device to be in use where the host has NOT negotiated VIRTIO_F_ACCESS_PLATFORM (e.g. QEMU's default virtio-vga, which does not set iommu_platform), so the driver's use_dma_api stays false and framebuffer backing is described with raw guest-physical addresses. Limiting factors: local access as the guest kernel (PR:L), the specific Xen PV deployment mode, the absence of iommu_platform/ACCESS_PLATFORM negotiation, and the presence of virtio-gpu - all making this a non-default, higher-complexity condition (AC:H) rather than a remotely reachable flaw.

Impact

This is a niche isolation/correctness bug in the Linux kernel drm/virtio-gpu driver that only manifests on Xen PV domains. The provided CVSS 3.1 vector (AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H, base 7.8) correctly captures the LOCAL, higher-complexity, low-privilege nature: it requires the guest to be running as a Xen PV domain (PVH domains are identity-mapped and unaffected) with virtio-gpu/virtio-vga where the host did not negotiate VIRTIO_F_ACCESS_PLATFORM. There is no EPSS score, no CISA KEV listing, and no public exploit - so exploitation status is 'no public exploit identified at time of analysis.' Unlike much of the DoS-mislabeled Linux 'Information Disclosure' catalog, the confidentiality impact here is DEFENSIBLE: because the guest describes its framebuffer backing with guest-physical addresses, the Xen host resolves them to pages belonging to OTHER domains and scans out that unrelated memory to the guest's display - a genuine cross-domain confidentiality leak crossing an isolation boundary (justifying S:C/C:H). However, this is not an attacker-crafted exploit primitive; it is a passive misconfiguration inherent to running virtio-gpu under Xen PV. Integrity/availability impact (I:H/A:H) appears OVERSTATED - the observed behavior is memory disclosure, with at most incidental corruption. Net real-world priority is LOW: the vulnerable configuration (Xen PV dom0 + virtio-vga, often nested in QEMU) is uncommon, and there is no evidence of exploitation.

Exploit ScenarioDerived

A guest kernel runs as a Xen PV domain (e.g. a PV dom0) using virtio-gpu/virtio-vga where QEMU has not enabled iommu_platform, so the driver keeps use_dma_api false and hands guest-physical framebuffer addresses to the host. The host resolves those addresses to machine pages belonging to a different Xen domain and scans that memory out to the affected guest's display, disclosing another domain's memory across the isolation boundary. No public exploit code exists; the condition was reproduced by researchers with Xen 4.21 PV dom0 nested in QEMU 8.2 on 6.8 and 6.18 LTS kernels.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

Xen PV guests running the Linux kernel's drm/virtio GPU driver can present the host with guest-physical page addresses as framebuffer backing, so the hypervisor-side display path resolves them to memory owned by other domains - reading and scanning out unrelated host memory instead of the intended resource. Only Xen PV domains using virtio-gpu/virtio-vga are affected, and only when VIRTIO_F_ACCESS_PLATFORM was not negotiated (QEMU's default virtio-vga does not set iommu_platform, leaving the driver's own use_dma_api flag false); PVH and HVM domains are identity-mapped and unaffected. The weakness is local to the guest with the kernel's privileges (CVSS AV:L/PR:L, AC:H, scope-changed) rather than remotely reachable, and no public exploit code has been identified at time of analysis; vendor fixes ship in kernel 6.18.53, 7.2.7 and 7.3-rc2.

RemediationAI

Apply the vendor-released fixes: upgrade to Linux 6.18.53, 7.2.7 or 7.3-rc2 (or take the corresponding backport for your distribution kernel) using the upstream stable commits cited in the references - https://git.kernel.org/stable/c/93c557e947ef0040004b1ac6a1c1265d79a957e1, https://git.kernel.org/stable/c/455184dbe9652d01470d3c5cf5edd09a7a673a99 and https://git.kernel.org/stable/c/6a736d2f9d0c6e6217fe7532bc4c50ceca71db78. If patching must be deferred, the most effective compensating control is to stop running the affected workload as a Xen PV domain: booting dom0 as PVH (or using an HVM/identity-mapped domain) removes the guest-physical to machine-address mismatch entirely, at the cost of host and guest configuration changes that may not be viable for existing deployments. As a narrower workaround, do not expose virtio-gpu/virtio-vga to PV guests - omit the QEMU '-device virtio-vga' option or use a different display device - which removes the vulnerable code path but loses GPU-accelerated scanout in that guest. Manually enabling iommu_platform on the virtio-vga device would negotiate VIRTIO_F_ACCESS_PLATFORM and re-enable use_dma_api, but it changes device configuration and requires validation against the guest OS, and it does not by itself provide the dma_sync_sgtable_for_device() synchronization the upstream fix adds for swiotlb correctness, so the kernel update remains the preferred action. Restricting who can launch or control Xen PV guests with virtio-gpu limits exposure but is a hardening measure, not a fix. No public exploit code has been identified, so emergency network-level mitigations are not indicated; prioritize scheduling the kernel update on Xen PV hosts that present virtio-vga to guests.

Affected VersionsENISA

Linux a3b815f09bb846255c458c181b8a5b1cc66891b4 <455184dbe9652d01470d3c5cf5edd09a7a673a99
Linux 4.20
Linux a3b815f09bb846255c458c181b8a5b1cc66891b4 <6a736d2f9d0c6e6217fe7532bc4c50ceca71db78
Linux a3b815f09bb846255c458c181b8a5b1cc66891b4 <93c557e947ef0040004b1ac6a1c1265d79a957e1
Linux patch: 0
Linux patch: 7.2.7
Linux patch: 7.3-rc2
Linux patch: 6.18.53

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

drm/virtio builds an scatter-gather description of a framebuffer object's backing pages in virtio_gpu_object_shmem_init() and passes it to the host through the virtqueue. Whether that description goes through the DMA mapping API is decided in virtio_ring.c by vring_use_map_api(), which returns true for any xen_domain() regardless of VIRTIO_F_ACCESS_PLATFORM. virtio-gpu duplicated that decision independently as 'bool use_dma_api = !virtio_has_dma_quirk(vgdev->vdev)', which consults only the feature bit. On a Xen PV domain, guest-physical (page) addresses bear no relation to the machine addresses the host must use, so when VIRTIO_F_ACCESS_PLATFORM is not negotiated - QEMU's default virtio-vga does not set iommu_platform - use_dma_api stays false, sg_phys() records guest-physical addresses, and the host resolves them to pages belonging to some other domain. The bug class is exposure of a resource to the wrong sphere via incorrect address translation (information disclosure), and the fix moves the decision into virtio_gpu_use_dma_api() with the xen_domain() check, mirroring vring_use_map_api(); it also switches on the dma_sync_sgtable_for_device() calls in virtgpu_vq.c that are required for correctness whenever swiotlb is in play. The supplied CPE cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:* carries no version constraint, so exposure must be determined from the running kernel version plus the presence of the drm/virtio driver, and the EUVD record supplies the affected commit range starting at a3b815f09bb846255c458c181b8a5b1cc66891b4 together with the patched versions 6.18.53, 7.2.7 and 7.3-rc2.

Know when Xen gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 6.4 MEDIUM

Local guest with low privilege (AV:L/PR:L); Xen-PV-only non-default path is AC:H; cross-domain scanout crosses the isolation boundary (S:C, C:H); integrity is incidental at most (I:L) and no availability impact is evidenced (A:N).

3.1 AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:H/SI:N/SA:N
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.0 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 15:22 NVD
7.8 (HIGH)
Patch available
Sep 25, 2026 - 12:02 EUVD
CVE Published
Sep 25, 2026 - 10:36 cve.org
UNKNOWN (no severity yet)
CVE Published
Sep 25, 2026 - 10:36 cve.org
HIGH 7.8

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A flaw in how Linux guests using the virtio GPU driver interact with the Xen hypervisor could let a user with administrative access inside one virtual machine read memory belonging to other virtual machines or the host, undermining the isolation that multi-tenant virtualization depends on. Organizations running paravirtualized Xen guests with virtio-gpu or virtio-vga and without IOMMU platform negotiation are exposed, though no public exploit identified at time of analysis and vendor patches are available. This is a confidentiality risk that could affect customer data segregation and regulatory compliance.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
Linux kernel is ubiquitous, but Xen PV dom0 with virtio-gpu is a niche path
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Xen

View all
CVE-2012-0217 HIGH POC
7.2 Jun 12

The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and

CVE-2015-3456 HIGH POC
7.7 May 13

The Floppy Disk Controller (FDC) in QEMU, as used in Xen 4.5.x and earlier and KVM, allows local guest users to cause a

CVE-2018-8897 HIGH POC
7.8 May 08

A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) wa

CVE-2022-4949 HIGH POC
8.8 Jun 07

The AdSanity plugin for WordPress is vulnerable to arbitrary file uploads due to missing file type validation in the 'aj

CVE-2017-15595 HIGH POC
8.8 Oct 18

An issue was discovered in Xen through 4.9.x allowing x86 PV guest OS users to cause a denial of service (unbounded recu

CVE-2017-7228 HIGH POC
8.2 Apr 04

An issue (known as XSA-212) was discovered in Xen, with fixes available for 4.8.x, 4.7.x, 4.6.x, 4.5.x, and 4.4.x. Rated

CVE-2015-5165 CRITICAL
9.3 Aug 12

The C+ mode offload emulation in the RTL8139 network card device model in QEMU, as used in Xen 4.5.x and earlier, allows

CVE-2015-8550 HIGH
8.2 Apr 14

Xen, when used on a system providing PV backends, allows local guest OS administrators to cause a denial of service (hos

CVE-2022-26364 MEDIUM POC
6.7 Jun 09

x86 pv: Insufficient care with non-coherent mappings T[his CNA information record relates to multiple CVEs; the text exp

CVE-2017-10918 CRITICAL
10.0 Jul 05

Xen through 4.8.x does not validate memory allocations during certain P2M operations, which allows guest OS users to obt

CVE-2017-10912 CRITICAL
10.0 Jul 05

Xen through 4.8.x mishandles page transfer, which allows guest OS users to obtain privileged host OS access, aka XSA-217

CVE-2017-10921 CRITICAL
10.0 Jul 05

The grant-table feature in Xen through 4.8.x does not ensure sufficient type counts for a GNTMAP_device_map and GNTMAP_h

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy