Skip to content
OpenAdvisories
Medium · 5.1 CVE-2026-53722 EUVD-2026-36428GHSA-934w-87qh-qr26

Nuxt: Reflected XSS in `<NuxtLink>` via unsanitised `javascript:` or `data:` URL

Published Jun 12, 2026 · Updated Jun 12, 2026 · Assigned by GitHub_M

Description

Nuxt is an open-source web development framework for Vue.js. Prior to versions 3.21.7 and 4.4.7, <NuxtLink> did not validate the URL scheme of values bound to its to or href props before rendering them into the href attribute of the underlying <a> element. When an application binds attacker-controlled input (a query parameter, a CMS field, a user-supplied profile URL) to <NuxtLink :to> or :href, the attacker can supply a javascript: or vbscript: URL that is reflected verbatim into the rendered markup. Clicking the link executes the supplied script in the origin of the Nuxt application, resulting in reflected DOM-based cross-site scripting. A data:text/html,... payload reflected through the same sink does not execute in the application's origin but enables a same-tab phishing surface anchored to a legitimate application link. The same value was exposed to consumers of the component's custom slot via the href and route.href props, so applications that re-bind those values to their own anchors were affected identically. This issue has been patched in versions 3.21.7 and 4.4.7.

Affected products

VendorProductAffectedFixed
nuxt nuxt < 3.21.7, >= 4.0.0, < 4.4.7 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm nuxt >= 4.0.0, < 4.4.7 4.4.7 GHSA-934w-87qh-qr26
npm nuxt >= 3.0.0, < 3.21.7 3.21.7 GHSA-934w-87qh-qr26

References