Read the docs

Cross-site scripting in Astro via unescaped script and style children

Priority LOW 29CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
None · High · None
Fix status
Partial Red Hat: 1 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-79.

Summary

Astro before 7.3.2 treats string children of script and style elements as trusted HTML in its JSX and MDX rendering pipeline (CWE-79). A dynamic value containing a closing script or style tag can end the element and inject arbitrary HTML and JavaScript when an application passes attacker-controlled data as such a child. A remote attacker can cause reflected or stored cross-site scripting under the application's origin, and a user must interact with the page.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00321 25th percentileScored 2026-11-07
Fix Partial astro (withastro): 7.3.2astro (npm): 7.3.2Red Hat: 1 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
withastroastrobefore 7.3.27.3.2Patch availableCNA
—astro (npm)before 7.3.27.3.2Patch availableGHSA-98hj-9722-w3j8
  • astro Vendorwithastro Affected before 7.3.2 Fixed in 7.3.2 Patch available CNA
  • astro (npm) Vendor— Affected before 7.3.2 Fixed in 7.3.2 Patch available GHSA-98hj-9722-w3j8

Remediation

Update the astro npm package to 7.3.2, which fixes this issue. Red Hat lists Red Hat OpenShift AI (RHOAI) as affected without a fix, with the plan none_available.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA astro (withastro) Fixed in 7.3.2
  • Fix · GHSA-98hj-9722-w3j8 astro (npm) Fixed in 7.3.2 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-21 Threatist record created from CVE-2026-114128
  2. 2026-10-22 Affected versions changed · Red Hat
  3. 2026-10-22 CVSS score added · Red Hat
  4. 2026-10-22 Alias added: GHSA-98hj-9722-w3j8
  5. 2026-10-22 Fix available: npm/[email protected] · GHSA-98hj-9722-w3j8
  6. 2026-10-22 CVSS score added · GHSA-98hj-9722-w3j8
  7. 2026-10-22 Weakness changed · GHSA-98hj-9722-w3j8
  8. 2026-10-22 6 new references · GHSA-98hj-9722-w3j8
  9. 2026-10-23 Priority changed: MEDIUM → LOW
  10. 2026-10-23 CISA SSVC decision points changed

References

  • TI-2026-26147 Astro: Unauthenticated Path Override via `x-astro-path` / `x_astro_path` CVSS 3.1CRITICAL 9.1
  • TI-2026-42600 Astro 6.4.7 Authorization Bypass via Decode Iteration Limit and Rewrite Path Canonicalization Mismatch CVSS 3.1HIGH 8.2
  • TI-2024-37142 Server source code is exposed to the public if sourcemaps are enabled CVSS 4.0HIGH 7.8
  • TI-2025-35987 Astro Cloudflare adapter is vulnerable to Server-Side Request Forgery via /_image endpoint CVSS 3.1HIGH 7.2
  • TI-2025-34958 Unauthorized third-party images in Astro’s _image endpoint CVSS 4.0MEDIUM 6.9
  • TI-2026-51542 Astro: Unauthenticated path override in the @astrojs/vercel ISR function CVSS 3.1MEDIUM 6.5
See all 43 →

Sources