Skip to main content
← All vulnerabilities
CVE-2026-59728GHSA-8J5Q-MFJ2-5Q9Q

@astrojs/rss: XML Injection via Unescaped RSS Feed Fields

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.0.19
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • withastro astro

    From 1.0.0 · fixed in 4.0.19

  • @astrojs/rssnpm

    From 1.0.0 · fixed in 4.0.19

References 4

GitHub · withastro/astro