Read the docs
TI-2026-42597 Aliases CVE-2026-59728GHSA-8j5q-mfj2-5q9q

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

Priority MEDIUM 53CWE-91Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00322 25th percentileScored 2026-11-07
Fix Fixed astro (withastro): 4.0.19@astrojs/rss (npm): 4.0.19

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
withastroastro1.0.0 to before 4.0.194.0.19Patch availableCNA
—@astrojs/rss (npm)1.0.0 to before 4.0.194.0.19Patch availableGHSA-8j5q-mfj2-5q9q
  • astro Vendorwithastro Affected 1.0.0 to before 4.0.19 Fixed in 4.0.19 Patch available CNA
  • @astrojs/rss (npm) Vendor— Affected 1.0.0 to before 4.0.19 Fixed in 4.0.19 Patch available GHSA-8j5q-mfj2-5q9q

Remediation

  • Fix · CNA astro (withastro) Fixed in 4.0.19
  • Fix · GHSA-8j5q-mfj2-5q9q @astrojs/rss (npm) Fixed in 4.0.19 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-59728
  2. 2026-10-03 Alias added: GHSA-8j5q-mfj2-5q9q

References

  • TI-2026-26147 Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path` CVSS 3.1CRITICAL 9.1
  • TI-2026-42600 Astro 6.4.7 Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch CVSS 3.1HIGH 8.2
  • TI-2024-37142 Server source code is exposed to the public if sourcemaps are enabled CVSS 4.0HIGH 7.8
  • TI-2025-35987 Astro Cloudflare adapter is vulnerable to Server-Side Request Forgery via /_image endpoint CVSS 3.1HIGH 7.2
  • TI-2025-34958 Unauthorized third-party images in Astro’s _image endpoint CVSS 4.0MEDIUM 6.9
  • TI-2026-51542 Astro: Unauthenticated path override in the @astrojs/vercel ISR function CVSS 3.1MEDIUM 6.5
See all 43 →

Sources