P.K. SHARMA

Cyber security intelligence, AI governance, practitioner analysis

Xen says XSA-523 lets a guest read and write Dom0 memory; CISA-ADP scores it 4.4, CodeAnt publishes 9.3

Xen says a malicious guest can read and write memory belonging to other domains, including Dom0, with no known mitigation. CISA-ADP scored both CVEs 4.4 Medium, Xen published no score, and CodeAnt, one of the finders, publishes 9.3. Read 8 November 2026.

By · LinkedIn · · 13 min read

Five days in: no score from Xen, 4.4 from CISA-ADP, 9.3 from a finder

Five calendar days after Xen published XSA-523 (derived: 3 November to 8 November 2026), the two flaws it covers carry three different severity positions. Xen's advisory prints no score. The CISA ADP container on each CVE record gives 4.4 Medium. CodeAnt AI, one of the credited finders, publishes 9.3 under CVSS 3.1 and 9.4 under CVSS 4.0 for both.

Xen's statement of impact is one sentence: "A malicious guest can read and write arbitrary memory, belonging to other domains, including Dom0." Its statement of mitigation is shorter: "There is no known mitigation."

None of those numbers shows that anyone has used the flaws. Xen's advisory does not mention exploitation. The SSVC entry CISA added on 4 November reads Exploitation none, and neither CVE appears in version 2026.11.06 of the CISA Catalog of Known Exploited Vulnerabilities, as read at about 09:35 UTC on Sunday 8 November 2026. Those are statements about what had been reported by those dates, not proof that nothing has happened.

What Xen says went wrong

Xen says a common access pattern is "a batch of Grant Copy operations acting on adjacent address ranges in the same source or destination page", and that for performance it caches details to reuse data it has already validated. "The conditions on when to re-validate the internal data were not correct in some cases". Xen gives two cases, one CVE each:

  • CVE-2026-102703: "Frame numbers and grant references could wrongly be mixed up."
  • CVE-2026-102704: copying by frame number, rather than by grant reference, is permitted only on the caller's own memory. "The check to enforce this restriction was misplaced."
Drawn by this site from Xen Security Advisory 523, version 2. The slate boxes mark what the advisory does not state.

Version 2 of the advisory, marked as the public release, went out at 12:00 UTC on 3 November. The CVE records followed at 10:30 UTC on 4 November, 22.5 hours later (derived). The advisory stops at this level of detail. It does not say how a guest reaches either condition.

Two ratings that do not describe the same event

CISA's container on each record, titled Vulnrichment, gives both CVEs the identical vector and 4.4 Medium. Xen's own container on each record has no metrics block and its advisory prints no score, so the only CVSS figure on the CVE records is a third party's enrichment, added about eight hours after Xen's record (derived: 10:30 UTC to 18:24 and 18:26 UTC on 4 November).

Drawn by this site from Xen Security Advisory 523, the CISA ADP container on both CVE records and the CVSS 3.1 specification from FIRST.

Field by field: Xen's advisory against the CISA ADP vector, with CVSS 3.1 definitions from FIRST

FieldWhat Xen's advisory statesWhat the vector encodes
Reach"belonging to other domains, including Dom0"S:U. Unchanged: "An exploited vulnerability can only affect resources managed by the same security authority."
Read"can read and write arbitrary memory"C:L. Low: "the attacker does not have control over what information is obtained, or the amount or kind of loss is limited"
Write"can read and write arbitrary memory"I:L. Low: "the attacker does not have control over the consequence of a modification, or the amount of modification is limited"
AvailabilityNot statedA:N
Attack path"A malicious guest"AV:L
PrivilegesNot stated beyond "A malicious guest"PR:L
Complexity, user interactionNot statedAC:L, UI:N
Whole ratingNo score printedCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N (4.4 MEDIUM, CISA-ADP)

The firmest mismatch is in the two Low values. CVSS 3.1 keeps Low for an attacker without control over what is obtained or changed, or where the amount is limited. Xen's word is "arbitrary". As written, the advisory does not describe the Low case.

Scope is the harder field, and what follows is this site's inference. CVSS 3.1 calls a flaw Unchanged when only resources under the same security authority are affected, and lists "a sandbox environment" among its examples of an authority. Xen's text has a guest reaching other domains and Dom0, which on that reading is a crossing. An analyst might instead treat Xen as the single authority over all domain memory and keep Unchanged. The record does not say which. Even on that second reading, Scope would not explain the two Low values.

Attack vector Local and Privileges Low do not pull against the advisory. Attack complexity Low and user interaction None are CISA's encoding of points the advisory does not address. Availability None is neither supported nor contradicted, since Xen's impact sentence mentions only reading and writing.

The records hold two more signals. The SSVC entry gives Technical Impact partial and Automatable no. CISA assigns the two faults different weakness classes, CWE-704 for CVE-2026-102703 and CWE-693 for CVE-2026-102704, and then scores them identically. No rationale for any of these values is printed. NVD, read at the same time, lists the same vector with CISA as its source, labels it Secondary, shows the record as Undergoing Analysis and carries no NVD score of its own. This site does not offer a replacement score: the point is that the published positions cannot all describe one event.

Medium is a label, not a control

An organisation that patches by CVSS band would, on the only score in the CVE and NVD records as read, queue XSA-523 as a Medium. That is this site's inference about triage practice, not a report about any organisation. Because Xen lists no mitigation, there is nothing to apply in the meantime, so the queue position is the whole decision.

The caution runs the other way as well. CodeAnt calls the flaw Xenbleed, a name that does not appear in Xen's advisory. A name and a Critical badge do not show that any given host can be reached.

What the credit says, and what it does not

The advisory's credit reads: "This issue was discovered by Anthropic using Claude", then validated by a researcher at Ada Logics. "It was then independently reported by the CodeAnt AI Security Research Team." Two independent finders is what Xen records. Anthropic sells the Claude model named in that credit. CodeAnt AI sells AI penetration testing and code security products, and its write up also promotes them.

The credit does not say how Claude was used, how much a person directed it, or how long either party took, and this briefing infers none of that. CodeAnt gives dates for its own part: it says it reported to the Xen Project security team and Cloud Software Group on 13 October, and that Xen replied on 14 October that the issue was already known. Neither the advisory nor CodeAnt's page gives a date for the other report. The two patches for xen-unstable to 4.19.x each carry a Reported-by line for CodeAnt, which this site read in the files as served.

What CodeAnt adds, and the limits it states

CodeAnt's page, dated 4 November, goes well beyond the advisory. It says "We built a working guest-to-dom0 escape on XenServer 9" and names its test system as XenServer 9.0.0 running Xen 4.21.2-3. It says it used that access to run "a short, reversible instruction sequence in the dom0 Linux kernel". Xen's advisory says nothing about code execution in Dom0. That is CodeAnt's claim, and this site has not reproduced it.

CodeAnt also states limits. Its chain exercised CVE-2026-102704 and "we did not independently exercise CVE-2026-102703". Its proof "ran Xen with one pCPU" and "SMP reliability was not measured." And: "We did not build a general-purpose dom0 shell."

It dates the flaw to a commit of 29 January 2015 and counts 4,296 days. This site recomputed that interval from 29 January 2015 to 3 November 2026 and it matches (derived). The advisory gives no commit date and says only that versions from 4.6 onwards are vulnerable.

On who can attack, Xen says only "A malicious guest". CodeAnt says: "The attacker must already control a guest kernel, which includes a tenant who can supply a custom kernel." That is CodeAnt's statement, not Xen's. CodeAnt also says proof of concept source went privately to Xen and Cloud Software Group; the page as read prints excerpts of Xen source and no proof of concept source, and describes the chain in prose. This briefing repeats none of those steps.

Where the sources differ, kept as differences: Xen's advisory, the CISA ADP container and CodeAnt's page

PointXen advisoryCISA-ADP recordCodeAnt page
ScoreNone printed4.4 Medium, CVSS 3.19.3 (CVSS 3.1), 9.4 (CVSS 4.0)
VectorNone printedCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:NNone printed
ReachOther domains, including Dom0Scope UnchangedOther domains including Dom0; in its lab, instructions in the Dom0 kernel
Attacker"A malicious guest"Local, Low privilegesMust already control a guest kernel
ExploitationNot statedSSVC: none, 4 NovemberIts own lab proof only; the page reports no attacks
Proof of conceptNot statedNot statedSays it built one and sent it privately

CodeAnt's page attributes its scores two ways. Its timeline says "our CVSS assessment for both CVEs: 9.3 Critical (v3.1) and 9.4 Critical (v4.0)". Its structured FAQ data says "Scores are 9.3 under CVSS 3.1 and 9.4 under CVSS 4.0, per SUSE." No SUSE notice was read for this briefing, so the difference stays unresolved here.

Which versions, and which patches

Xen's version table for XSA-523, with the gap this site derived

VersionsWhat the advisory saysPatch files
xen-unstable to Xen 4.19.xVulnerable (from 4.6 onwards)xsa523-?.patch (two files)
Xen 4.18.x to Xen 4.17.xVulnerable (from 4.6 onwards)xsa523-4.18-?.patch (two files)
Xen 4.6 to 4.16 (11 minor lines, derived)Vulnerable (from 4.6 onwards)None listed
Xen 4.5 and earlier"not vulnerable"Not applicable

The advisory's patch list names three stable branches, 4.17.x, 4.18.x and 4.19.x (derived count), plus xen-unstable. Any branch between 4.19.x and xen-unstable falls inside the first row but is not printed; CodeAnt's test system, Xen 4.21.2-3, is one such version on CodeAnt's word.

The 11 minor version lines from 4.6 to 4.16 (derived: 16 minus 6 plus 1) are in scope by the advisory's own words and have no patch listed. The advisory does not say whether a fix exists for them or whether they are still supported.

Xen cautions that patches for released versions "may not apply cleanly to the most recent release tarball", and adds: "Downstreams are encouraged to update to the tip of the stable branch before applying these patches." This site recomputed the SHA-256 of all four patch files as served, and each matches the value printed in the advisory.

The structured affected field on both CVE records says only "consult Xen advisory XSA-523", with a default status of unknown. A tool that reads that field alone receives no version range. The range is in the free text.

What the record states, and what it does not

Stated and not stated, from the advisory, the CVE records and CodeAnt's page

QuestionWhat the record statesNot stated
Has it been exploited?SSVC Exploitation none on 4 November; neither CVE in KEV version 2026.11.06Any incident. The advisory does not address it
Does a proof of concept exist?CodeAnt says it built one and sent it privatelyWhether a copy is public. The advisory does not address it
What privilege does a guest need?Xen: "A malicious guest"Any level of privilege. CodeAnt's claim is above, attributed to CodeAnt
Which providers run affected builds?CodeAnt names XenServer 9.0.0 as its test systemWhich cloud or hosting providers run affected builds, or have patched
Is a host restart or live patch needed?"Applying the appropriate set of attached patches resolves this issue."Restart or live patch. The advisory describes neither
What do distributions say?Neither the advisory nor the CVE records link a distribution or vendor noticeTheir content: none was read for this briefing
How long did the finders take?CodeAnt's own report and reply datesThe date of the other report, or how long either took
How was Claude used?"discovered by Anthropic using Claude"Method, or how far a person directed it
Has Ada Logics said more?Its blog listing, read 8 November, mentions none of thisAny statement from Ada Logics

What to do, in order

Take this with you

Ranked, with this site's suggestions labelled

  • Apply the advisory's patches: the xsa523-4.18 pair for Xen 4.17.x and 4.18.x, and the xsa523 pair for Xen 4.19.x up to xen-unstable. Check each file against the sha256 lines the advisory prints.
  • Update to the tip of the stable branch before applying, as the advisory encourages, since patches may not apply cleanly to the most recent release tarball.
  • Treat multi tenant hosts first, where guests are not under your own control. Xen lists no mitigation, so a patch is the only listed fix (this site's suggestion on ordering).
  • If you run Xen 4.6 to 4.16, ask your distributor or platform vendor what it will ship: the advisory lists no patch for those versions (this site's suggestion).
  • Ask your hosting provider directly: which Xen version, whether both XSA-523 patches are applied, and when (this site's suggestion).
  • Plan the host restart or live patch route with your distribution or platform vendor. XSA-523 describes neither (this site's suggestion).
  • Override the 4.4 in your vulnerability tooling if your queue is driven by CVSS band, on the strength of Xen's impact statement (this site's suggestion).
  • Watch Xen's advisory index on 10 November at 18:00 UTC, when XSA-529 and XSA-530 are listed to leave embargo (this site's suggestion).

Technical details

Each block is copied from the signed advisory or the CVE records as read on 8 November 2026. The advisory prints no exploit, query or indicator, and none is added here.

Xen's statements of impact, affected versions and mitigation. A defender compares the running Xen version against these lines.

Text
IMPACT
A malicious guest can read and write arbitrary memory, belonging to
other domains, including Dom0.

VULNERABLE SYSTEMS
All Xen versions from 4.6 onwards are vulnerable.  Xen versions 4.5 and
earlier are not vulnerable.

MITIGATION
There is no known mitigation.
Xen Security Advisory 523, version 2, read 8 November 2026

The patch file list and hashes as printed. A defender verifies downloaded patch files against these hashes before applying them. The first column of the top two lines is a filename pattern.

Text
xsa523-?.patch           xen-unstable - Xen 4.19.x
xsa523-4.18-?.patch      Xen 4.18.x - Xen 4.17.x

$ sha256sum xsa523*
87562e68c584dcc6b568348e7ba6cfde592798cb89f372364792afda65aa6895  xsa523-1.patch
9cd4e76fa3587f491f5bb0f895f375fcf24df8bd9bdf602c343081e7411b92f0  xsa523-2.patch
c1accb1fa55176cb6191e091d93198068630acbc6529966738669a43d5c2e38e  xsa523-4.18-1.patch
efc16fe8830066276fb50f01f24a358194a752507077fdb61a60f891dc1a7019  xsa523-4.18-2.patch
$
Xen Security Advisory 523, version 2, read 8 November 2026

The CVE description, identical on the records for CVE-2026-102703 and CVE-2026-102704, from Xen as the CNA.

Text
[This CNA information record relates to multiple CVEs; the
text explains which aspects/vulnerabilities correspond to which CVE.]

A common access pattern is a batch of Grant Copy operations acting on
adjacent address ranges in the same source or destination page.  For
performance reasons, Xen caches details internally to reuse already
validated data.  The conditions on when to re-validate the internal data
were not correct in some cases:

 - Frame numbers and grant references could wrongly be mixed up.  This
   is CVE-2026-102703.

 - Copying by frame number (rather than grant reference) is permitted
   only when operating on the caller's own memory.  The check to enforce
   this restriction was misplaced.  This is CVE-2026-102704.
Xen as CNA, CVE records for CVE-2026-102703 and CVE-2026-102704, read 8 November 2026

The CISA enrichment as printed on the records: the CVSS block, the SSVC entry and the weakness classes. A defender uses this to see which number a feed is carrying and who assigned it.

Text
CVE-2026-102703 and CVE-2026-102704, identical on both records:
{
 "cvssV3_1": {
  "scope": "UNCHANGED",
  "version": "3.1",
  "baseScore": 4.4,
  "attackVector": "LOCAL",
  "baseSeverity": "MEDIUM",
  "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
  "integrityImpact": "LOW",
  "userInteraction": "NONE",
  "attackComplexity": "LOW",
  "availabilityImpact": "NONE",
  "privilegesRequired": "LOW",
  "confidentialityImpact": "LOW"
 }
}

CVE-2026-102703 SSVC entry:
{
 "timestamp": "2026-11-04T18:24:51.875183Z",
 "id": "CVE-2026-102703",
 "options": [
  {
   "Exploitation": "none"
  },
  {
   "Automatable": "no"
  },
  {
   "Technical Impact": "partial"
  }
 ],
 "role": "CISA Coordinator",
 "version": "2.0.3"
}

Weakness classes as printed:
CVE-2026-102703: CWE-704 Incorrect Type Conversion or Cast
CVE-2026-102704: CWE-693 Protection Mechanism Failure
CISA-ADP container, titled CISA ADP Vulnrichment, on the CVE records, read 8 November 2026

The question the three positions leave open

Xen says a guest can read and write the memory of Dom0 and that it knows of no mitigation. The only score on the CVE record says the damage is Low and stays inside one security authority, and a finder says Critical. If your patch queue is ordered by the number your scanner retrieves, which of those three statements is it acting on, and did anyone choose that?

Key facts

Sources

  1. PrimaryXen Security Advisory CVE-2026-102703, CVE-2026-102704 / XSA-523, version 2, arbitrary read/write via grant copy, public 3 November 2026 at 12:00 UTC: issue, impact, versions, mitigation, credits, patches and hashes. Read in fullXen Projectaccessed 2026-11-08
  2. PrimaryXen Security Advisories index: release times of XSA-523 and the listing of XSA-526 to XSA-530Xen Projectaccessed 2026-11-08
  3. PrimaryCVE record for CVE-2026-102703: Xen's description and CISA ADP Vulnrichment CVSS 3.1 vector, SSVC and CWECVE Program (Xen as CNA, CISA-ADP enrichment)accessed 2026-11-08
  4. PrimaryCVE record for CVE-2026-102704: Xen's description and CISA ADP Vulnrichment CVSS 3.1 vector, SSVC and CWECVE Program (Xen as CNA, CISA-ADP enrichment)accessed 2026-11-08
  5. PrimaryNVD record for CVE-2026-102703: status Undergoing Analysis, CISA-ADP vector listed as SecondaryNIST National Vulnerability Databaseaccessed 2026-11-08
  6. PrimaryNVD record for CVE-2026-102704: status Undergoing Analysis, CISA-ADP vector listed as SecondaryNIST National Vulnerability Databaseaccessed 2026-11-08
  7. PrimaryCISA Catalog of Known Exploited Vulnerabilities, catalogue version 2026.11.06: neither CVE listedCISAaccessed 2026-11-08
  8. PrimaryCommon Vulnerability Scoring System v3.1 specification: definitions of Scope, Confidentiality and Integrity valuesFIRSTaccessed 2026-11-08
  9. PrimaryXenbleed: The Eleven-Year-Old Shortcut, dated 4 November 2026: CodeAnt's own account of its report, its lab results, its limits and its scores. Used for CodeAnt's claims only, attributed to CodeAnt; the attack steps are not repeatedCodeAnt AIaccessed 2026-11-08

Share this briefing

Know someone who owns this problem? Send it to them.

Related briefings

The briefing, in your inbox

Practitioner analysis of cyber and AI security news. No vendor noise.

How often

Every new briefing in one email, at 7am, or at 7am, 12:30pm and 6pm. Nothing is sent when nothing is new. Unsubscribe any time.