{"id":"CVE-2026-59728","sourceIdentifier":"security-advisories@github.com","published":"2026-07-27T21:17:05.700","lastModified":"2026-10-24T13:10:00.147","vulnStatus":"Deferred","cveTags":[],"descriptions":[{"lang":"en","value":"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."},{"lang":"es","value":"Astro es un framework web para sitios web basados en contenido. En las versiones 1.0.0 a 4.0.18, los campos de elemento source.title y enclosure.type en packages/astro-rss/src/index.ts se interpolan directamente en cadenas de plantilla XML sin escape de caracteres XML antes de ser analizados por fast-xml-parser. Ambos campos se validan solo como z.string(), sin imponer ninguna restricción sobre los caracteres especiales XML. Un atacante que controla estos valores puede inyectar XML arbitrario en el feed RSS generado: un valor que contenga ’”’ puede salir de un atributo (como con enclosure.type), y un valor que contenga [/source] puede cerrar un elemento prematuramente e inyectar nodos adicionales (como con source.title). Esto corrompe la estructura del feed, inyecta metadatos falsos (por ejemplo, un [link] falso que apunta a una URL maliciosa), y puede hacer que los lectores de feeds analicen incorrectamente o muestren contenido controlado por el atacante. En modo SSR (output: ’server’), el feed envenenado se sirve en cada solicitud a todos los suscriptores. Este problema ha sido solucionado en la versión 4.0.19."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"withastro","product":"astro","versions":[{"version":">= 1.0.0, < 4.0.19","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","baseScore":4.3,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"LOW","availabilityImpact":"NONE"},"exploitabilityScore":2.8,"impactScore":1.4}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-07-28T14:27:36.621244Z","id":"CVE-2026-59728","options":[{"exploitation":"poc"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-91"}]}],"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"}]}