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

Published Oct 21, 2026
·
Updated

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 Software

1 affected component
npm/astro<7.3.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Astro to a version that resolves this vulnerability.

    Fixed in 7.3.2

Event History

Oct 21, 2026
CVE Published
via MITRE·05:32 PM
Data Sourced
via MITRE·05:32 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which applications are exposed to this issue?

Applications using Astro versions before 7.3.2 are exposed only if they render attacker-controlled data as a dynamic child of a script or style element through the astro:jsx renderer. This includes affected JSX and MDX components; other JSX expression contexts automatically escape dynamic strings.

2

What does an attacker need to exploit it?

An attacker needs a way to supply data that the application passes directly into a dynamic script or style child. The supplied value must contain a closing script or style tag that terminates the intended element and permits injection of arbitrary HTML and JavaScript.

3

Are applications affected by default?

No default exposure is stated. Exploitation depends on application code rendering attacker-controlled dynamic values inside script or style elements, rather than merely using Astro, JSX, or MDX.

4

How can teams remediate the issue?

Upgrade Astro to version 7.3.2. Until upgrading, do not pass untrusted data as dynamic children of script or style elements in JSX or MDX components; avoid rendering such values through the astro:jsx renderer.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203