Impact
Astro is a web framework that renders client‑hydrated components. In versions 3.10.0 through 7.0.3, the framework copies the value of transition:persist, transition:scope, or transition:persist‑props directives directly onto the rendered <astro‑island> element without applying HTML escaping. When a developer introduces attacker‑controlled, request‑derived input into one of these attributes, the value can break out of the attribute context and inject arbitrary HTML or JavaScript into the server‑rendered page, creating a reflected cross‑site scripting vulnerability. The flaw arises from improper output encoding (CWE‑116) and failure to validate output (CWE‑79, CWE‑83).
Affected Systems
Versions 3.10.0 through 7.0.3 of the withastro Astro framework are affected. Applications that use client‑hydrated (client:*) components with the aforementioned transition directives and feed them request‑derived or untrusted input are vulnerable. Astro applications that do not route untrusted data into these directives are not impacted.
Risk and Exploitability
The CVSS score of 2.1 indicates a low baseline severity, and the EPSS score of < 1 % suggests the current probability of exploitation is low. The vulnerability is not listed in the CISA KEV catalog. Based on the description, the likely attack vector is developer‑ or code‑integrity risk rather than a direct network‑based payload. Since the flaw is reflected XSS, an attacker can execute malicious JavaScript in the context of any visitor who loads the compromised page.
OpenCVE Enrichment
Github GHSA