Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-114128 EUVD-2026-107411GHSA-98hj-9722-w3j8

Astro: Reflected/Stored XSS via unescaped <script>/<style> tag content in JSX/MDX rendering

Published Oct 21, 2026 · Updated Oct 23, 2026 · Assigned by GitHub_M

Description

Astro is a web framework for content-driven websites. Prior to 7.3.2, Astro's JSX and MDX rendering pipeline treats string children of script and style elements as trusted HTML without distinguishing compiler-generated literal content from dynamic expression values. An application that passes attacker-controlled data directly as a dynamic child can allow a value containing a closing script or style tag to terminate the element and inject arbitrary HTML and JavaScript. Other JSX expression contexts escape dynamic strings automatically; the issue is limited to script and style children rendered through the astro:jsx renderer, including MDX components. Successful exploitation can produce reflected or stored cross-site scripting under the application's origin. This issue is fixed in 7.3.2.

Affected products

VendorProductAffectedFixed
withastro astro < 7.3.2 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm astro < 7.3.2 7.3.2 GHSA-98hj-9722-w3j8

References