CVE-2026-59728: withastro astro · XML Injection
Affects withastro astroSource CVE Database V5
Not known to be exploited · CVSS 4.3 Medium : upgrade to 4.0.19 when convenient.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.3% chance of exploitation in 30 days – higher than 25% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 4.0.19
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 27 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade withastro astro to 4.0.19.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| withastroastro | Affected
| Fixed in
|
AI-suggested
This vulnerability is fixed in Astro version 4.0.19. Users should upgrade to version 4.0.19 or later to remediate this issue. Until upgrading, avoid using untrusted input in the source.title and enclosure.type fields or implement proper XML character escaping before interpolation. Patch status is not explicitly stated in the vendor advisory, but the fix is confirmed in version 4.0.19.
Description
Astro is a web framework for content-driven websites. In versions 1.0.0 through 4.0.18, the source.title and enclosure.type item fields in packages/astro-rss/src/index.ts are interpolated directly into XML template strings without XML-character escaping before being parsed by fast-xml-parser. Both fields are validated only as z.string(), placing no restriction on XML special characters. An attacker who controls these values can inject arbitrary XML into the generated RSS feed: a value containing " can break out of an attribute (as with enclosure.type), and a value containing </source> can close an element early and inject additional nodes (as with source.title). This corrupts feed structure, injects false metadata (for example, a fake <link> pointing to a malicious URL), and can cause feed readers to misparse or display attacker-controlled content. In SSR mode (output: 'server'), the poisoned feed is served on every request to all subscribers. This issue has been fixed in version 4.0.19.
References
- github.com/withastro/astro/security/advisories/GHSA-8j5q-mfj2-5q9q (opens in a new tab)
- github.com/withastro/astro/pull/17209 (opens in a new tab)
- github.com/withastro/astro/commit/fbcfa039dfe3d700b239f595a6c55ee35e45bd06 (opens in a new tab)
- github.com/withastro/astro/releases/tag/@astrojs/rss@4.0.19 (opens in a new tab)