Impact
Astro, the JavaScript web framework, has a flaw in its server‑side rendering routine in versions older than 6.4.6. The spreadAttributes function loops over the keys of an object and inserts each key into HTML output unchanged. If the object keys come from an untrusted source, the attacker can place arbitrary attribute names, including malicious event handlers (e.g. onmousemove, onclick) or characters that break out of the attribute context to inject additional HTML elements. This enables client‑side script execution in users’ browsers, compromising confidentiality and integrity of the web page and potentially delivering phishing or malware payloads. The weakness is a classic input‑validation error classified as CWE‑79.
Affected Systems
All installations of the Astro framework using versions prior to 6.4.6 are affected. The issue was fixed in Astro 6.4.6; any deployment that still depends on older releases of `${Astro}` is vulnerable, regardless of the hosting environment.
Risk and Exploitability
The CVSS score of 4.2 indicates a low to moderate severity. Because the flaw can be triggered by any user who can supply props to a component, no additional authentication is required, and it may be exploited over the internet wherever the vulnerable application is exposed. EPSS data is not available, and the entry is not listed in the CISA KEV catalog, suggesting no confirmed exploits yet. Nonetheless, the ability to execute arbitrary JavaScript in the victim’s browser makes this a significant security risk for any public‑facing Astro application.
OpenCVE Enrichment
Github GHSA