CVE-2026-79610
Executive Summary
CVE-2026-79610 is a use-after-free condition in the Xen hypervisor's grant table subsystem, arising from a v2 -> v1 -> v2 grant table version change sequence that was not accounted for after the earlier XSA-501 advisory. Because the first version transition frees status pages and the second reallocates them, the status page addresses may change across the full transition pair, leaving previously calculated pointers into the status array stale. The vulnerability affects Xen-based hypervisors and their guest domains, with the potential for memory corruption, host crashes, or privilege escalation within the virtualized environment if a malicious or compromised guest can trigger the race and dereference a stale pointer.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The Xen grant table is the shared-memory mechanism by which guest domains share pages with the hypervisor and with other domains for I/O and inter-domain communication. Grant table version changes (v1 to v2 and v2 to v1) are supported operations, and XSA-501 previously addressed issues where a v1 -> v2 or v2 -> v1 change raced against other grant table operations.
CVE-2026-79610 concerns a distinct, previously unaccounted-for effect of performing a v2 -> v1 -> v2 sequence. The mechanics described in the NVD data are:
- During the first change (v2 -> v1), status pages are freed.
- During the second change (v1 -> v2), status pages are allocated again.
- Because the pages are freed and reallocated, the addresses of the status pages may differ between the two states.
- Any pointers previously calculated into the status array therefore become stale — they reference memory that is no longer the status array, or that has been reallocated for a different purpose.
This is classically a use-after-free (CWE-416) pattern: a dangling reference is retained across a free/reallocate boundary and subsequently dereferenced. The specific consequence depends on hypervisor code paths that consult the status array after the version transitions; the data set does not provide function names, file paths, or parameter names, so the exact dereference site is not enumerated here.
The attack surface is the grant table version-change interface, which is exercised from within a guest domain and handled by hypervisor code. Because the hypervisor operates with higher privilege and its memory is shared with guests through grant mappings, corruption of hypervisor-managed status pages is a sandbox-escape-relevant primitive: a guest that can influence the contents or timing of the stale region may induce the hypervisor to read or write memory it no longer legitimately owns.
The race condition implied by "racing certain other grant table operations" (from the XSA-501 lineage) suggests the flaw is timing-dependent and not reliably triggerable; exploitation requires a guest to interleave the version changes with concurrent grant table activity. No public PoC, exploit code, or Nuclei template exists, and no CVSS score has been assigned by NVD. No EPSS score is available from FIRST.org, and the CVE is not listed in CISA KEV.
Affected systems are Xen hypervisors running guest domains that are permitted to perform grant table version changes. The vendor/product attribution is recorded as Unknown in the provided data, but the advisory identifier XSA-501 and the grant table terminology are specific to the Xen hypervisor.
Exploitation Scenarios
No public PoC is available for CVE-2026-79610; the attack chain below is inferred from the vulnerability class (use-after-free via a stale pointer across a free/reallocate cycle) and the mechanics stated in the NVD description. Specific function names, file paths, and API parameters are deliberately omitted because none are provided in the source data.
Reconnaissance / target identification. An attacker first obtains code execution within a guest domain on a Xen host — the typical assumption is a compromised or malicious guest VM. The attacker identifies that the host supports grant table operations and that the guest is permitted to request grant table version changes. No external, unauthenticated network reachability to the hypervisor is described for this flaw; the trigger originates from guest-side privilege within the virtualized environment.
Triggering the flaw class. The attacker issues a grant table version change from v2 to v1, causing the hypervisor to free the status pages associated with the v2 layout. The attacker then issues a second change from v1 back to v2, causing status pages to be allocated again. If a concurrent grant table operation races against these transitions — as in the XSA-501 family of issues — pointers previously computed into the status array are not refreshed and still reference the freed original pages. The attacker's objective at this stage is to force the hypervisor to retain and later use a dangling pointer to the status array.
Payload / execution method. Because the status pages are freed during the first step, the attacker may attempt to influence what occupies that memory before the stale pointer is dereferenced, or to induce the hypervisor to consult the stale pointer during a subsequent grant table operation. The attacker cannot directly control hypervisor-internal pointers from the guest; the primitive is therefore a memory-corruption and information-disclosure primitive rather than a directly controlled write. The exact reclamation strategy and timing window are not documented in the source data.
Post-exploitation impact. Successful corruption of hypervisor state derived from the stale status array can result in a host crash (denial of service affecting all co-resident guests) or, in a favorable memory layout, manipulation of hypervisor behavior leading to privilege escalation out of the guest sandbox. The blast radius is host-wide: every guest on the affected hypervisor is impacted by a host crash or compromise.
Impact Assessment
The vulnerability is a hypervisor-level memory safety flaw in a virtualization component, which places it in the highest-impact tier of virtualization security issues: a failure here is not confined to a single workload but to the entire physical host and all of its guest domains.
- Confidentiality (High): A stale pointer into a status array could expose hypervisor or cross-domain memory contents to a malicious guest, enabling disclosure of data belonging to the host or other tenants.
- Integrity (High): If the stale reference is used in a write path, hypervisor-controlled data structures could be corrupted, potentially subverting isolation guarantees.
- Availability (High): The most directly demonstrable outcome of a dangling hypervisor pointer is a crash of the host, terminating all guest workloads simultaneously — a significant denial-of-service event in multi-tenant environments.
- Scope (Changed): Exploitation crosses the guest-to-hypervisor trust boundary, so the impacted security scope is broader than the vulnerable component.
No CVSS score or vector has been published by NVD; the vector provided in METADATA is an analytical estimate consistent with a local, high-complexity, race-dependent hypervisor memory-safety issue and should be treated as provisional. No EPSS score is available, and the CVE is not in CISA KEV, indicating no confirmed widespread exploitation at this time.
Business impact centers on cloud providers, virtual desktop infrastructure, and any environment running Xen-based hypervisors with multi-tenant guest workloads. A host crash translates to correlated downtime across every tenant on that host; a guest escape undermines the isolation guarantee that underlies the entire tenancy model.
Detection Guidance
Detection for this CVE must focus on the observable behavior of grant table version changes issued in rapid succession and on hypervisor error signals, since there is no network signature for an in-guest hypercall race. The rules below are behavioral heuristics; environment-specific tuning is expected.
Sigma Rule
title: Suspicious Rapid Grant Table Version Change Sequence in Xen Guest
id: 8f3c1a72-4d5e-4b9a-9c21-7e6a0b2d5f14
status: experimental
description: Detects rapid alternating grant table version changes (v2->v1->v2) that may indicate an attempt to trigger a stale status-page pointer race in Xen.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-79610
author: valtersit.com
date: 2026/01/01
logsource:
product: linux
service: kernel
detection:
selection_gt_change:
message|contains:
- 'grant_table'
- 'gnttab'
selection_version_toggle:
message|contains:
- 'v1'
- 'v2'
condition: selection_gt_change and selection_version_toggle
falsepositives:
- Legitimate guest drivers performing a single supported grant table version change
- Hypervisor maintenance or migration operations
level: medium
YARA Rule
rule CVE_2026_79610_Xen_GrantTable_StaleStatusPage
{
meta:
description = "Heuristic detection of Xen grant table version-change handling code paths associated with CVE-2026-79610; informational only."
author = "valtersit.com"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-79610"
severity = "medium"
strings:
$gt1 = "gnttab" ascii wide
$gt2 = "grant_table" ascii wide
$ver1 = "GT_VERSION" ascii wide
$ver2 = "gt_version" ascii wide
$status = "status_page" ascii wide
condition:
(uint32(0) == 0x464c457f or uint16(0) == 0x5a4d) and
(any of ($gt1, $gt2)) and
(any of ($ver1, $ver2)) and
$status
}
Suricata IDS Rule
alert tcp any any -> any any (msg:"CVE-2026-79610 Xen guest anomalous grant table version change chatter (heuristic)"; flow:established; content:"gnttab"; nocase; content:"version"; nocase; threshold: type threshold, track by_src, count 20, seconds 10; classtype:attempted-admin; sid:202679610; rev:1; metadata:reference cve,CVE-2026-79610;)
Elastic Detection
process where host.os.type == "linux" and event.category == "process" and
process.name in ("xl", "xe", "xenstore-control", "xenstored") and
process.args : ("*grant*", "*gnttab*", "*version*")
Splunk SPL Query
index=hypervisor_logs (sourcetype=xen:* OR sourcetype=hypervisor:*)
| search ("gnttab" OR "grant_table" OR "GT_VERSION")
| search ("v1" OR "v2" OR "version")
| stats count by host, guest_domain, message
| where count > 5
| table _time, host, guest_domain, count, message
Wazuh OSSEC Rule
<group name="xen,cve-2026-79610,">
<rule id="100610" level="8">
<decoded_as>xen</decoded_as>
<match>grant_table|gnttab</match>
<match>version</match>
<description>CVE-2026-79610: Suspicious Xen grant table version change activity - possible stale status page pointer race attempt.</description>
<mitre>
<id>T1190</id>
</mitre>
<group>hypervisor_abuse,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor fix, workaround, or affected-version list is available in the provided data.
Immediate mitigations.
- Apply the principle of least privilege to guest domains: restrict which guests are permitted to perform grant table version changes. Where the deployment model allows, disable grant table version-change capability for untrusted or tenant-controlled guests.
- Increase isolation for high-risk or untrusted workloads by moving them onto separate physical hosts, preferably hosts running a hypervisor release that has incorporated a fix once one is published.
- Monitor hypervisor logs for repeated or alternating grant table version changes coming from a single guest, and for unexpected host resets or hypervisor panics with grant table assertions.
- Reduce co-tenancy: avoid placing mutually untrusting tenants on the same physical host, since a hypervisor-level corruption has host-wide blast radius.
Patch / upgrade steps.
- No patch is currently available. Monitor the Xen Project security advisory list for the final XSA number assigned to CVE-2026-79610 and the corresponding hypervisor releases.
- When a patched hypervisor release becomes available, plan a maintenance window for host upgrades; because the flaw is in the hypervisor, guests must be suspended or migrated during the host upgrade.
- After patching, rebootstrap any guest workloads that exhibited anomalous grant table behavior before the upgrade and review them for signs of prior compromise.
- Validate the applied release against the vendor advisory to confirm it addresses the v2 -> v1 -> v2 status page reallocation sequence specifically.
Long-term hardening.
- Adopt a hypervisor patch-review process that tracks Xen security advisories (XSA series) and correlates them with CVE identifiers, since the present advisory is an extension of the XSA-501 issue family.
- Enforce strict guest-to-host interfaces: audit which hypercalls and grant table operations each guest class genuinely requires and disable the remainder.
- Deploy host-level integrity monitoring for hypervisor memory and enable crash-dump analysis so that any dereference of a freed status page is captured and can be triaged as a potential exploitation attempt.
- Maintain an SBOM and firmware/hypervisor version inventory so that, when the fix lands, affected hosts can be identified and remediated rapidly.
References
- NVD — CVE-2026-79610: https://nvd.nist.gov/vuln/detail/CVE-2026-79610
- Xen Project Security Advisories (XSA series), including the XSA-501 advisory referenced in the CVE description: https://xenproject.org/security-policy/
- Xen Project Security Advisory index and patch repository: https://xenbits.xen.org/xsa/
- CISA Known Exploited Vulnerabilities Catalog (CVE-2026-79610 not currently listed — no KEV entry as of this report): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- FIRST EPSS (no score currently published for this CVE): https://www.first.org/epss/
No known threat actor campaigns or exploit-in-the-wild evidence have been identified for CVE-2026-79610. No public PoC, exploit code, or Nuclei template is available.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.