Xen XSA-523 (CVE-2026-102703/102704): Grant-Copy Flaws Let a Malicious VM Read and Write Any Other Domain's Memory — Found by Anthropic Using Claude

Cyber · 2026-11-05 · By H.A

Xen XSA-523 (CVE-2026-102703/102704): Grant-Copy Flaws Let a Malicious VM Read and Write Any Other Domain's Memory — Found by Anthropic Using Claude

Two grant-copy validation bugs in every Xen release since 4.6 let a malicious guest read and write the memory of other VMs and Dom0, with no mitigation other than patching.

What Happened

The Xen Project has published Xen Security Advisory 523 (XSA-523). It covers two related flaws in the hypervisor's grant-copy mechanism, tracked as CVE-2026-102703 and CVE-2026-102704. The advisory states the impact directly: "A malicious guest can read and write arbitrary memory, belonging to other domains, including Dom0."

The advisory went public on 3 November 2026. In a multi-tenant virtualisation host, this is about as bad as hypervisor bugs get. One untrusted virtual machine can reach into its neighbours and into the privileged control domain that manages the whole host.

The credits stand out too. According to the advisory, the issue "was discovered by Anthropic using Claude, then validated by Stephan Lipp of Ada Logics." The CodeAnt AI Security Research Team reported it independently. So two separate AI-assisted research efforts found the same deep memory-safety logic bug in one of the most heavily reviewed open-source hypervisors.

Technical Details

Grant tables are how Xen guests share memory with one another and with Dom0. Paravirtualised drivers depend on them for disk and network I/O. The grant copy operation lets a domain ask the hypervisor to copy data between pages. Each page is identified either by a grant reference, which another domain has explicitly shared, or by a raw frame number.

There is a strict rule for frame numbers. The advisory says copying by frame number "is permitted only when operating on the caller's own memory."

To save time, Xen processes grant copies in batches. When several operations in a batch touch adjacent ranges of the same page, Xen reuses cached data it has already validated rather than checking every time. XSA-523 says the conditions for re-validating that cached data were wrong in some cases:

A guest that builds a suitable batch can therefore point copy operations at memory it does not own. That gives it arbitrary read and write access across domain boundaries, including Dom0.

Who Is Affected

The advisory states that "all Xen versions from 4.6 onwards are vulnerable." Xen 4.5 and earlier are not affected. That window covers roughly a decade of releases, so the exposure is broad:

The attacker must already control code inside a guest, for example a customer VM on a shared host or a compromised qube. Remote attackers cannot trigger it directly. That precondition is exactly the threat a hypervisor exists to contain.

Patch Status

The Xen Project has released patches:

The advisory notes that the stable-branch patches may not apply cleanly to the latest release tarballs. It encourages downstream builders to move to the tip of the relevant stable branch first. Versions between 4.6 and 4.16 are vulnerable but out of security support and receive no patch.

The advisory is blunt about workarounds: "There is no known mitigation." Downstream projects have started shipping fixes. XCP-ng released updated Xen packages for 8.3, and Qubes OS issued its own bulletin, with the fixed package moving from the security-testing repository to stable.

No exploitation in the wild had been reported when the advisory was published.

What To Do Now

On a Xen host you can confirm the running hypervisor version with:

xl info | grep -E 'xen_(major|minor|extra)'

Why It Matters

Hypervisor isolation is the foundation many organisations build on without thinking about it. A cross-domain read/write primitive breaks that foundation. It turns "an attacker owns one VM" into "an attacker can own every VM on the box."

The discovery story matters as well. Grant tables are old, heavily scrutinised code, yet the flaw sat there for about ten years. It took a reasoning-heavy pass over batched validation logic to find it. That an AI model found it first, and that a second AI-driven team found it independently, fits a pattern seen across recent advisories: AI-assisted auditing is now finding subtle logic bugs in mature infrastructure code. Defenders should expect more advisories like this, sooner, and plan patch capacity for low-level components they once treated as stable.

COMPUTE NODE · --:--:--

Fresh cybersecurity news,
daily threat intelligence.

Run local models, watch a live threat feed, and ship security work.

0threats tracked
0news & posts
0live intel sources
0attackers, last hour

Everything in one place

Self-hosted, hardened, and yours.

RUN IT

Local AI console

Chat with a model on your own hardware via Ollama or any OpenAI-compatible server. No cloud, no key.

DEFEND

Cyber threat feed

Automatic daily intel from CISA KEV, NVD & GitHub advisories, a live cyber threat map, and your own notes.

NEWS

News & videos

Articles and updates on pentesting, AI, and cyber — with embedded video, including YouTube. Post your own.

DIRECTORY

Registry

Runtimes, models, MCP servers, agents, and a full security & pentest tooling section.

PUBLISH

Posts

Write, edit, publish, and share articles backed by a real database and your account.

COMMUNITY

Forum

Threads and replies across categories from Models to Hardware to Security.

CODE

Repos

Curated AI and security GitHub repos, plus a shelf for pinning your own.

DOWNLOAD

Skill packs

Agent starters, RAG scaffolds, and defensive security & VAPT report templates.

Registry

Runtimes, models, MCP servers, agent frameworks, and a security & pentest tooling section — all links out to the real projects.

Local AI console

Talk to a model running on your own machine through Ollama or an OpenAI-compatible server — your prompts and the model's replies always go straight from your browser to your local model, never through a Reef server. Attach files for context, and pick up saved chats where you left off.

Type /image a prompt in the box below to generate
Not connected

Local AI hardware benchmark

A spec-based compatibility advisor — tells you which local models your hardware can run well, which will be slow, and which to skip. Connect to Ollama below for a real, measured speed test instead of an estimate.

1. Your hardware

2. Live check against your local model server (optional)

If a local model server is running, this cross-references the table above with what you've actually got loaded — and runs a real, measured speed test instead of an estimate.

AI Database

A browsable catalog of AI models across providers — context windows, pricing, and capabilities.

Loading…

Cyber threat feed

Latest threats pulled automatically every day from CISA's Known-Exploited-Vulnerabilities catalog and NVD — plus threat intel you post yourself.

⇩ Export STIX
Loading threat feed…

Cyber threat map

Attacks happening right now, all over the world. Every route and flash on this map comes from a named live source, explained below.

Connecting…
LIVE · MAURITIUS TIME--:--:--
attack route, country to country attack route into Mauritius attacker reported worldwide
Loading live data…
attackers reported per minute · click to rewindnow

Top attack routesweb

Attackers based inlast hour

Networkslast hour

Click any dot, feed row or table row to see that IP's profile.

Mauritius · Cloudflare Radar

Who attacks Mauritius

Loading…

Web attacks malicious requests to Mauritian websites, blocked by Cloudflare
Network DDoS floods meant to knock Mauritian servers offline

    Mauritius · Cloudflare Radar · last 24 h

    How Mauritius is attacked

    Network-level attacks (DDoS) aimed at Mauritius, by method. They try to knock servers and networks offline by sheer volume.

    • Loading…

    Cloudflare doesn't publish which ports or services these floods aimed at, or what web attacks on Mauritius tried to do.

    Mauritius · blocklist.de · last hour

    Attackers located in Mauritius

    0attackers located in Mauritius were reported in the last hour

    This counts attacks coming from Mauritius, not attacks on it: IPs in Mauritius that servers elsewhere reported for attacking them. Usually zero or one; when it rises, it's often a hacked local server or router.

    Reading the Cloudflare figures

    Percentages are shares of the attack traffic Cloudflare saw against the sites it protects, so they describe Cloudflare's customers, not every server in a country. A route's origin is where the attacking machines are, which is often a rented or hijacked server, not the attacker's home.

    Worldwide today · SANS Internet Storm Center

    What attackers are knocking on

    Ports most targeted across DShield's volunteer sensors .

    Worldwide today · SANS Internet Storm Center

    Most active attackers

    Ranked by how many separate sensors they hit. Click a row for its profile.

    IPCountryNetworkSensors hitReports
    What you're looking at
    Blue routes

    Share of attack traffic from one country to another, measured by Cloudflare across the sites it protects. Thicker, faster streams carry more. Particles show volume, not one per attack.

    Cloudflare Radar · every 15 min · published 1–2 h behind
    Amber flashes

    An attacking IP that servers around the world reported to blocklist.de in the last minute, placed where the IP is. Its targets aren't published, so there's no line.

    blocklist.de · every minute · shown about 1 min behind
    Locations

    IP locations are approximate (city level at best) and show where the machine is hosted, not who controls it.

    ip-api.com · SANS ISC DShield for the tables above

    News

    Articles, guides and updates on pentesting, AI, and cybersecurity — with embedded video. Add your own, including YouTube.

    Loading…

    Posts

    Loading…

    Loading posts…

    Forum

    Questions, answers, and talk about running AI locally.

    Loading forum…

    GitHub repositories

    Curated AI and security repos, plus your own pinned shelf.

    Command board

    One-liners, configs, and advice worth keeping — shared by everyone here.

    ⚠ Commands are shared with all users. Never include credentials, tokens, or internal hostnames. Review anything before you run it.
    Loading commands…

    Skill packs

    Starter files served from the API — AI agent scaffolds plus defensive security & VAPT reporting templates. Click to download.

    Loading skills…

    Threat Intelligence

    Curated threat write-ups, advisories and analysis — with cover media.

    Loading…

    Tutorials

    Step-by-step guides for running local AI, using the console, and tracking threats. Admins can add their own.

    Loading…

    Downloads

    Direct links to the official homepage/download page for well-known cybersecurity, penetration-testing, and local-AI software. Always verify checksums/signatures from the vendor before running anything.

    Loading…

    Terms & Conditions

    Loading…

    Help & FAQ

    Answers to common questions about Reef Sentinel, plus a formatting guide for posts, articles, and comments.


    Formatting guide

    Commands you can type into the body of a post, comment, or reply — no HTML needed. Comments and short replies only support bold, italic, and inline code.

    Contact us

    Questions, feedback, or a security disclosure? Reach us directly, or send a message and we'll get back to you by email.

    Loading…

    Send a message

    VAPT Report Generator

    Build an engagement, add findings with a live CVSS calculator, and generate a branded, print-ready report.

    Recon Toolkit

    Passive OSINT lookups for the recon phase of an engagement, plus offline hash identification and a payload cheatsheet.

    Website Checker

    Reads a website's HTTP response headers to identify its framework and server, shows any known CVEs for the exposed versions with details, and recommends what to do.

    Control panel

    Manage everything shown on the site — news & videos, posts, homepage headlines, and subscribers. Admin only.

    Overview
    Content
    Site
    Account & Security

    Email settings

    SMTP on ports 25/465/587 is blocked outbound by some hosts (e.g. DigitalOcean droplets by default) — Resend and Brevo send over their HTTPS API instead, so they work even then. Only the selected provider is used to send; the others stay saved but idle, so you can switch back any time without losing settings.

    Get a key from resend.com/api-keys. Uses the "From address" below as the sender — it must be on a domain you've verified with Resend.

    Get an API key (not an SMTP key) from app.brevo.com/settings/keys/api. Uses the "From address" below as the sender — it must be a verified sender in your Brevo account.

    "From address" and "Site name/URL" are shared by SMTP, Resend, and Brevo — they control what recipients see, regardless of which provider is active.

    Send a test email

    Sends through whichever provider is currently active above. Save your settings first if you just changed them.