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.
Published: 2026-10-21
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Cross‑Site Scripting
Action: Update Astro to 7.3.2
AI Analysis

Impact

Astro's JSX and MDX rendering pipeline treated string children of script and style elements as trusted HTML, allowing an attacker to embed a closing script or style tag in dynamic content. This flaw permits the injection of arbitrary HTML and JavaScript, resulting in reflected or stored Cross‑Site Scripting under the application's origin. The vulnerability is limited to dynamic children rendered through the astro:jsx renderer, including MDX components, and does not affect other JSX contexts that perform automatic escaping.

Affected Systems

The flaw affects the withastro:astro web framework, Astro, in all releases prior to version 7.3.2. Any deployment of Astro using these earlier versions is potentially vulnerable to XSS attacks that inject malicious script or style content into the rendered pages.

Risk and Exploitability

The CVSS score of 6.5 reflects a moderate severity with an invulnerability that can be exploited by an attacker who can supply uncontrolled data to script or style children. The EPSS score is not available, and Astro is not listed in the CISA KEV catalog, implying no known widespread exploitation yet. The likely attack vector is remote web application exploitation, where a malicious payload is delivered through user‑controlled input and reflected or persisted in the generated content.

Generated by OpenCVE AI on October 22, 2026 at 03:02 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Astro to version 7.3.2 or later
  • If a patch is not immediately available, strip or sanitize any dynamic content supplied to <script> or <style> children to remove closing tags or embedded scripts
  • Audit MDX components and server‑side rendered pages to ensure script/style children are static and not populated with untrusted input

Generated by OpenCVE AI on October 22, 2026 at 03:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-98hj-9722-w3j8 Astro: Reflected/Stored XSS via unescaped <script>/<style> tag content in JSX/MDX rendering
History

Sun, 25 Oct 2026 07:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 22 Oct 2026 11:15:00 +0000

Type Values Removed Values Added
First Time appeared Astro
Astro astro
Withastro
Withastro astro
Vendors & Products Astro
Astro astro
Withastro
Withastro astro

Wed, 21 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
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.
Title Astro: Reflected/Stored XSS via unescaped <script>/<style> tag content in JSX/MDX rendering
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-23T15:11:02.457Z

Reserved: 2026-10-20T21:53:58.473Z

Link: CVE-2026-114128

cve-icon Vulnrichment

Updated: 2026-10-23T14:47:56.783Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T18:17:25.507

Modified: 2026-10-23T15:17:25.413

Link: CVE-2026-114128

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-21T17:32:28Z

Links: CVE-2026-114128 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T11:00:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')