GHSA-4g3v-8h47-v7g6: Astro: Reflected XSS via unescaped View Transition animation properties
(updated )
Astro’s server-side View Transition CSS generator interpolates animation properties into an inline <style> element without escaping them for the CSS and HTML contexts.
An attacker-controlled value passed to an animation property such as duration can contain a </style> sequence, terminate the generated style element, and inject arbitrary HTML or JavaScript.
This is similar to GHSA-8hv8-536x-4wqp, but exploits a different injection point: unescaped View Transition animation values in a server-generated <style> element rather than an unescaped slot name in a hydration template.
Like GHSA-8hv8-536x-4wqp, exploitation requires an application to pass attacker-controlled data to an Astro API. However, the value is subsequently inserted into the HTML response without context-appropriate escaping by Astro.
References
- github.com/advisories/GHSA-4g3v-8h47-v7g6
- github.com/withastro/astro/commit/092da560eea77ee63a3e2c583c80d8238544e42b
- github.com/withastro/astro/pull/17393
- github.com/withastro/astro/releases/tag/astro@7.1.0
- github.com/withastro/astro/security/advisories/GHSA-4g3v-8h47-v7g6
- nvd.nist.gov/vuln/detail/CVE-2026-73422
Code Behaviors & Features
Detect and mitigate GHSA-4g3v-8h47-v7g6 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →