Description
Astro is a web framework for content-driven websites. From 0.2.0 until 7.1.2, the @astrojs/solid-js renderer inserted a named slot into the quoted name attribute of an astro-slot wrapper without HTML escaping. A request-controlled slot name containing a quote could terminate the attribute and inject active HTML. Exploitation required a hydrated Solid component using a client:* directive and dynamic access to the attacker-chosen slot property; a component that did not render that slot emitted only escaped fallback content. This issue is fixed in version 7.1.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| withastro | astro | >= 0.2.0, < 7.1.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | @astrojs/solid-js | >= 0.2.0, < 7.1.2 | 7.1.2 | GHSA-jmv2-qgxf-f995 |