Read the docs
TI-2026-39194 Aliases CVE-2026-54298GHSA-jrpj-wcv7-9fh9

Astro: XSS via Unescaped Attribute Names in Spread Props

Priority MEDIUM 60CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

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

Summary

Astro is a web framework. Prior to 6.4.6, the spreadAttributes function in Astro's server-side rendering pipeline iterates over object keys and passes them directly to addAttribute, which interpolates the key into the HTML output without escaping. When a developer uses the spread syntax {...props} on an HTML element and the object keys come from an untrusted source (API, CMS, URL parameters), an attacker can inject arbitrary HTML attributes including event handlers like onmousemove, onclick, or break out of the attribute context entirely to inject new elements. This vulnerability is fixed in 6.4.6.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00228 13th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed astro (withastro): 6.4.6astro (npm): 6.4.6

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
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 6.4.66.4.6Patch availableCNA
—astro (npm)before 6.4.66.4.6Patch availableGHSA-jrpj-wcv7-9fh9
  • astro Vendorwithastro Affected before 6.4.6 Fixed in 6.4.6 Patch available CNA
  • astro (npm) Vendor— Affected before 6.4.6 Fixed in 6.4.6 Patch available GHSA-jrpj-wcv7-9fh9

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:astro:astro:*:*:*:*:*:node.js:*:*before 6.4.6Vulnerablewithastro
  • cpe:2.3:a:astro:astro:*:*:*:*:*:node.js:*:* Versions before 6.4.6 Vulnerable ·withastro

Remediation

  • Fix · CNA astro (withastro) Fixed in 6.4.6
  • Fix · GHSA-jrpj-wcv7-9fh9 astro (npm) Fixed in 6.4.6 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54298
  2. 2026-10-03 Alias added: GHSA-jrpj-wcv7-9fh9

References

  • TI-2024-37142 Server source code is exposed to the public if sourcemaps are enabled CVSS 4.0HIGH 7.8
  • TI-2025-34958 Unauthorized third-party images in Astro’s _image endpoint CVSS 4.0MEDIUM 6.9
  • TI-2025-39915 Server-side request forgery in withastro astro CVSS 3.1MEDIUM 6.5
  • TI-2025-38274 Astro's `X-Forwarded-Host` is reflected with no validation CVSS 3.1MEDIUM 6.5
  • TI-2026-36915 Astro: Reflected XSS via unescaped slot name CVSS 3.1HIGH 7.1
  • TI-2025-40102 Astro is vulnerable to Reflected XSS via the server islands feature CVSS 3.1HIGH 7.1
See all 19 →

Sources