← Back to Feed CACHED · 2026-11-04 15:27:36 · CACHE_KEY CVE-2026-102703
CVE-2026-102703 · CWE-20 · Disclosed 2026-11-04

Xen Grant Copy cache frame/grant reference mixup arbitrary cross-domain R/W

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

A valet key that works on other guests' engines after a caching shortcut

Xen's grant copy hypercall lets a guest ask the hypervisor to copy memory pages on its behalf. For performance, Xen caches already-validated grant-copy details when operations touch adjacent address ranges. The revalidation logic was wrong: in a batch of adjacent grant-copy operations, Xen could confuse a frame number with a grant reference. That mix-up lets a malicious guest read or write arbitrary memory belonging to other domains, including the control domain Dom0. The flaw affects all Xen versions since 4.6; 4.5 and earlier are not affected. Xen disclosed this as XSA-523 on 2026-11-04.

Vendor severity is missing — XSA-523 does not assign a CVSS score. VulDB rates it 9.1 and calls it very critical. The real-world severity is CRITICAL: this is a hypervisor escape. The only prerequisite is code execution inside an ordinary guest VM, and any Xen host running untrusted guests or multi-tenant guests is exposed. There are no known mitigations; the advisory says to apply the patch set. Setting the first assessed severity at CRITICAL / 9.1 is consistent with the impact, even though no public exploit exists yet.

"A Xen guest can confuse grant-copy caching to read/write arbitrary memory in other domains — including Dom0. No vendor CVSS; this is a hypervisor escape: CRITICAL."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Control a guest VM on a vulnerable Xen host

The attacker needs code execution inside any guest VM, whether HVM or PV. This can be achieved through a compromised guest OS, a malicious tenant VM, or a compromised CI/test host running under Xen. Once inside, the guest may invoke Xen's grant-copy hypercall interface.
Conditions required:
  • Guest VM runs on vulnerable Xen 4.6 or later
  • Attacker has code execution inside the guest
Where this breaks in practice:
  • Untrusted guest population varies: cloud/hosting providers and VPS platforms are highly exposed; private enterprise hosts with only trusted admins are less exposed
  • The initial guest compromise is a separate prerequisite; this is not remote unauthenticated
Detection/coverage: EDR inside the guest may detect the initial compromise, but not the subsequent hypervisor abuse.
STEP 02

Issue a batch of adjacent Grant Copy operations

The attacker crafts GNTTABOP_copy hypercalls touching adjacent address ranges in the same source or destination page. Xen's internal cache for previously validated grant-copy data is reused without proper revalidation. In this CVE specifically, frame numbers and grant references become mixed up.
Conditions required:
  • Guest has normal access to the grant table API
  • Batch operation pattern triggers Xen's cache-reuse path
Where this breaks in practice:
  • The guest must deliberately issue malformed adjacent grant-copy batches; it is not accidental
  • Advisory confirms any guest that can operate the grant table can issue the vulnerable copy operation
Detection/coverage: Hypervisors typically do not log per-hypercall validation failures; no standard IDS detection exists.
STEP 03

Hypervisor reuses stale validation and crosses domain boundary

Because the revalidation condition is not correctly enforced, Xen treats a frame number as a grant reference or vice versa. The resulting copy operation reads or writes memory outside the caller's own domain, including memory belonging to Dom0.
Conditions required:
  • Vulnerable Xen version: 4.6 through 4.22.x and unstable before XSA-523 patches
  • Target memory is mapped in the hypervisor address space
Where this breaks in practice:
  • Exploit development needs to map target physical memory layout; run-to-run variability may require retries
  • No public exploit is available as of 2026-11-04, so immediate real-world use is lower
Detection/coverage: No standard scanner exists; patch status audit is the only reliable check.
STEP 04

Read/write arbitrary host or other-guest memory and pivot to host takeover

With arbitrary read/write across domain boundaries, the attacker can extract secrets from other guests or modify Dom0 kernel code and data. Dom0 compromise grants control of the entire physical host, all guest VMs, and the management plane. In a virtualized fleet or hyperconverged deployment, that can cascade to storage, backups, and adjacent systems.
Conditions required:
  • Attacker develops or obtains a working exploit
  • Dom0 or target domain contains exploitable memory structures
Where this breaks in practice:
  • Still no public PoC as of 2026-11-04
  • Host hardening such as SELinux/AppArmor may slow Dom0 kernel exploitation but does not prevent arbitrary read/write
Detection/coverage: Post-compromise host forensics may find unusual grant hypercalls or memory anomalies, but not in real time.
03 · Compensating Control

1
CRITICAL 9.1→IGNORE 0.0
SEVERITY REDUCED
Apply XSA-523 patch set to every Xen host — This is the only complete fix. Deploy within 3 days under the noisgate mitigation SLA for CRITICAL, and complete vendor patch remediation within 90 days under the noisgate remediation SLA. As of disclosure no Xen tarball carries the patch, so apply the individual xsa523-*.patch files for your stable branch or use a vendor backport immediately.
2
CRITICAL 9.1→HIGH 7.8
SEVERITY REDUCED
Evacuate or suspend untrusted guest VMs until the host is patched — The attack requires a malicious or compromised guest. On multi-tenant or hosting hosts, migrate untrusted VMs to already-patched Xen hosts or suspend them within 3 days. This cuts the immediate path but remains a stopgap: any trusted guest that becomes compromised can still trigger the flaw.
3
CRITICAL 9.1→HIGH 8.0
SEVERITY REDUCED
Restrict new guest provisioning to trusted, internally built images only — Reduces the chance of a malicious tenant or guest entering the environment. Enforce immediately as part of the response; it does not fix the vulnerability and pre-existing compromised guests still escape.
What doesn't work
  • Network segmentation, WAF, guest firewalls, or VLAN isolation: the flaw is in Xen's grant-copy memory isolation between domains and Dom0; network controls never see the access.
  • EDR inside the malicious guest: the attacking guest is not harmed and often cannot observe hypervisor memory-copy faults; only host-level introspection might, and standard EDR does not cover this.
  • Live migration alone: migrating VMs to another unpatched Xen host merely relocates the vulnerability; it does not fix the grant-copy flaw.
04 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo known active exploitation; not in CISA KEV as of 2026-11-04 per Ostorlab and oss-security.
Proof-of-concept availabilityNo public PoC as of 2026-11-04. XSA-523 provides enough detail for exploit development; expect GitHub repos after patch diff analysis.
EPSS score / percentileEPSS not yet published for this CVE — disclosed 2026-11-04.
KEV status / datesNot CISA KEV-listed as of 2026-11-04.
CVSS vector / interpretationNo vendor CVSS. noisgate assessed 9.1: hypervisor escape, arbitrary cross-domain R/W, full host compromise.
Affected version rangesAll Xen versions since 4.6; 4.5 and earlier are unaffected.
Fixed versionsXSA-523 patch set (xsa523-*.patch) for 4.17 through unstable. Debian sid fixed in 4.20.4+63-g7abfd2bce2-1.
Scanning / exposure dataGreyNoise/Shodan/Censys cannot reliably identify Xen grant-copy exposure remotely. Defender must inventory Xen hosts and classify guest trust levels.
Disclosure date2026-11-04 (XSA-523 v2 posted 2026-11-03).
Reporting researcher / orgXen Project / XSA-523. No external researcher credited in available sources.

Sources.

  1. VulDB — CVE-2026-102703
  2. OpenCVE — CVE-2026-102703
  3. Ostorlab — Xen hypervisor guest escape analysis
  4. Openwall oss-security — XSA-523 v2
  5. Debian Security Tracker — CVE-2026-102703
  6. Xen Security Advisory XSA-523
05 · The Call

Final Verdict
= UNCHANGED to CRITICAL (9.1/10)

Why this verdict

  • Hypervisor escape to Dom0: a malicious guest can read and write arbitrary memory belonging to other domains, including Dom0. That is full host compromise, not a simple guest-to-guest leak.
  • Role multiplier: Xen is canonically a high-value hypervisor. In multi-tenant/hosting and virtualized fleet deployments, ≥10% of Xen installs host untrusted or semi-trusted guests; a working exploit yields domain/fleet-wide compromise and potential storage/backup cascade.
  • No effective mitigation: XSA-523 states there is no known mitigation. Only the patch set removes the flaw, so exposure continues until patches are applied to every affected host.
  • Public technical detail: XSA-523 explains the cache-validation flaw clearly enough that working exploits are likely to appear after patch diff review, even though none exist today.

Why not higher?

No public exploit or active exploitation is known as of 2026-11-04. The attack also requires code execution inside a guest VM first, so it is not a remote unauthenticated flaw against the hypervisor itself. Exploit reliability may vary across memory layouts and Xen versions, but that only delays — not removes — the critical outcome.

Why not lower?

Arbitrary read/write across Xen domain boundaries, including Dom0, is the most severe virtualization boundary failure possible. All Xen versions since 4.6 are affected, and there is no mitigation. Any organization running untrusted or tenant guests is a realistic target; the lack of public exploit does not reduce the architectural blast radius.

06 · Verification

Crowdsourced verification payload.

Run on each Xen host as root. Example invocation: bash check_xsa523.sh. The script attempts to detect the Xen version via xl info or package manager; for Debian it checks the known fixed package version, and for other distros it flags all 4.6+ hosts as VULNERABLE unless you have applied the XSA-523 patch and want to adjust the logic.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# XSA-523 / CVE-2026-102703 vulnerability check
# Run on each Xen host as root: bash check_xsa523.sh
# Outputs VULNERABLE, PATCHED, or UNKNOWN.
set -u

XEN_VER=""

detect_version() {
  if command -v xl >/dev/null 2>&1; then
    XEN_VER=$(xl info 2>/dev/null | awk '/^xen_version/{print $3; exit}')
  elif command -v xen-detect >/dev/null 2>&1; then
    XEN_VER=$(xen-detect 2>/dev/null | head -n1)
  fi
  if [ -z "$XEN_VER" ]; then
    if command -v dpkg >/dev/null 2>&1; then
      XEN_VER=$(dpkg-query -W -f='${Version}' xen-hypervisor-common 2>/dev/null || true)
    fi
    if [ -z "$XEN_VER" ] && command -v rpm >/dev/null 2>&1; then
      XEN_VER=$(rpm -q --qf '%{VERSION}' xen 2>/dev/null || true)
    fi
  fi
}

detect_version
if [ -z "$XEN_VER" ]; then
  echo "UNKNOWN: could not determine Xen version"
  exit 2
fi

# Compare major.minor (major*1000 + minor) with 4006.
V_NUM=$(printf '%s' "$XEN_VER" | awk -F. 'NR==1{print $1*1000+$2}')
if [ -z "$V_NUM" ]; then
  echo "UNKNOWN: cannot parse Xen version '$XEN_VER'"
  exit 2
fi

if [ "$V_NUM" -lt 4006 ]; then
  echo "PATCHED (Xen $XEN_VER is not affected; vulnerable only 4.6+)"
  exit 0
fi

# Debian fixed version: 4.20.4+63-g7abfd2bce2-1 (sid).
if command -v dpkg >/dev/null 2>&1; then
  DEB_VER=$(dpkg-query -W -f='${Version}' xen-hypervisor-common 2>/dev/null || true)
  [ -z "$DEB_VER" ] && DEB_VER=$(dpkg-query -W -f='${Version}' xen 2>/dev/null || true)
  if [ -n "$DEB_VER" ] && dpkg --compare-versions "$DEB_VER" ge "4.20.4+63-g7abfd2bce2-1"; then
    echo "PATCHED (Debian package $DEB_VER includes XSA-523 fix)"
    exit 0
  fi
  echo "VULNERABLE (Xen $XEN_VER / Debian package $DEB_VER is vulnerable unless XSA-523 patch manually applied)"
  exit 1
fi

# For other distros, assume vulnerable if 4.6+ and patch status unknown.
echo "VULNERABLE (Xen $XEN_VER is 4.6+; XSA-523 patch status unknown — audit vendor backport)"
exit 1