Medium severity · published Jul 27, 2026
CVE-2026-59728
@astrojs/rss: XML Injection via Unescaped RSS Feed Fields
4.3
CVSS
0.3%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
None
Integrity
Low
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 25% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
astro · withastro
>= 1.0.0, < 4.0.19 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-59728
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-59728
github.com
https://github.com/withastro/astro/commit/fbcfa039dfe3d700b239f595a6c55ee35e45bd06
github.com
https://github.com/withastro/astro/pull/17209
github.com
https://github.com/withastro/astro/releases/tag/@astrojs/rss@4.0.19
github.com
https://github.com/withastro/astro/security/advisories/GHSA-8j5q-mfj2-5q9q
More from astro
9.1
CVE-2026-33768
Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path`
8.6
CVE-2026-25545
Astro has Full-Read SSRF in error rendering via Host: header injection
8.2
CVE-2026-102984
Astro: Malformed port in the Host header can crash the Node adapter
8.2
CVE-2026-59731
Astro 6.4.7 Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch
7.5
CVE-2026-54299
Astro: Host-header full-read SSRF in core prerendered error-page fetch (prerenderedErrorPageFetch default + unvalidated createRequestFromNodeRequest URL)
