{"id":"CVE-2026-59728","url":"https://www.cyber-defence.io/tools/cve/CVE-2026-59728","generatedAt":"2026-10-28T02:24:34.753Z","title":"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…","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.","published":"2026-07-27T21:17:06.000Z","lastModified":"2026-10-24T13:10:00.000Z","status":"Deferred","sourceIdentifier":"security-advisories@github.com","cvss":{"version":"3.1","score":4.3,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N"},"cwe":["CWE-91"],"affected":[],"epss":{"score":0.00322,"percentile":0.25033,"date":"2026-10-26","history":[]},"kev":{"listed":false},"exploits":{"count":0,"verified":false,"firstPublished":null,"source":"Exploit-DB (https://gitlab.com/exploit-database/exploitdb)","entries":[]},"verdict":{"level":"low","text":"Lower severity and a low EPSS score (0.32%). Track it; it rarely justifies an emergency change on its own."},"changes":[],"references":[{"url":"https://github.com/withastro/astro/commit/fbcfa039dfe3d700b239f595a6c55ee35e45bd06","source":"security-advisories@github.com"},{"url":"https://github.com/withastro/astro/pull/17209","source":"security-advisories@github.com"},{"url":"https://github.com/withastro/astro/releases/tag/@astrojs/rss@4.0.19","source":"security-advisories@github.com"},{"url":"https://github.com/withastro/astro/security/advisories/GHSA-8j5q-mfj2-5q9q","source":"security-advisories@github.com"},{"url":"https://github.com/withastro/astro/security/advisories/GHSA-8j5q-mfj2-5q9q","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"sources":{"nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-59728","epss":"https://www.first.org/epss/","kev":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","exploitdb":"https://www.exploit-db.com/"},"licence":"CC BY 4.0 — link back to the CVE Explorer if you publish the results; upstream data remains subject to its own terms."}