Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled
Impact
Nuxt is an open-source web development framework for Vue.js. Prior to 4.6.0, an incomplete fix for CVE-2026-53722 allows an application with pages disabled to render a script-capable URL through NuxtLink when attacker-controlled input bound to to is prefixed with an ASCII C0 control character. The no-pages router classifies the value as an internal route before the earlier protocol check and passes it to the rendered anchor href; browsers remove the leading control character and interpret the remaining javascript: URL. The default anchor and NuxtLink custom output are affected, the unsafe…
Source excerpt · GitHub_MAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
nuxt · nuxt
| Version / range | Source status |
|---|---|
| < 4.6.0 | affected |
Original source description
Nuxt is an open-source web development framework for Vue.js. Prior to 4.6.0, an incomplete fix for CVE-2026-53722 allows an application with pages disabled to render a script-capable URL through NuxtLink when attacker-controlled input bound to to is prefixed with an ASCII C0 control character. The no-pages router classifies the value as an internal route before the earlier protocol check and passes it to the rendered anchor href; browsers remove the leading control character and interpret the remaining javascript: URL. The default anchor and NuxtLink custom output are affected, the unsafe href is present in server-rendered HTML, and a victim must click the link for script to execute in the application's origin. This issue is fixed in version 4.6.0.
References
- Security advisory github.com/nuxt/nuxt/security/advisories/GHSA-jjm6-p2m9-9w4x
- Patch github.com/nuxt/nuxt/pull/36459
- Patch github.com/nuxt/nuxt/commit/355ed9565127ff9b1453deb7160059ed55b3cb85
- Patch github.com/nuxt/nuxt/commit/df46569d5d3c7a7799de54c328634168fbae70bb
- Release notes github.com/nuxt/nuxt/releases/tag/v4.6.0