CVE-2026-59729: withastro astro · Cross-site Scripting
Affects withastro astroSource CVE Database V5
Mentioned vulnerabilities
Not known to be exploited · CVSS 5.1 Medium : upgrade to 7.0.6 when convenient.
Data as of 26 Oct 2026, 17:16 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 40% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 7.0.6
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:NExploitation evidence
Disclosed: evidence found.
CVE published 27 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade withastro astro to 7.0.6.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| withastroastro | Affected
| Fixed in
|
AI-suggested
This vulnerability is fixed in Astro version 7.0.6. Users should upgrade to version 7.0.6 or later to remediate this issue. No other mitigation or temporary workaround is indicated. Patch status is not explicitly stated in the vendor advisory fields, but the fix is confirmed in version 7.0.6.
Description
Astro is a web framework for content-driven websites. Versions prior to 7.0.6 are vulnerable to XSS through unescaped spread attribute names in renderHTMLElement. The fix for CVE-2026-54298 (GHSA-jrpj-wcv7-9fh9) added an INVALID_ATTR_NAME_CHAR guard to addAttribute() so that spread-prop attribute names containing "' >/= or whitespace are dropped. A second attribute-rendering path, renderHTMLElement() in packages/astro/src/runtime/server/render/dom.ts, has its own inline attribute loop that does not go through addAttribute() and was not updated. It interpolates the attribute name unescaped and only escapes the value, so untrusted prop keys spread onto a native-HTMLElement-subclass component can still break out of the attribute context. This issue has been fixed in version 7.0.6.
References
- github.com/withastro/astro/security/advisories/GHSA-f48w-9m4c-m7f5 (opens in a new tab)
- github.com/withastro/astro/pull/17251 (opens in a new tab)
- github.com/withastro/astro/commit/5240e26c9dd91f9bc7140dcfacdb48d5a132830d (opens in a new tab)
- github.com/withastro/astro/releases/tag/astro@7.0.6 (opens in a new tab)