CVE-2026-53722
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.
How to fix
- nuxt nuxt3.21.7, 4.4.7 or later
- nuxt4.4.7, 3.21.7 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| nuxt nuxt | v < 3.21.7, 4.0.0 ≤ v < 4.4.7 | 3.21.7, 4.4.7 |
| nuxtnpm | 4.0.0 ≤ v < 4.4.7, 3.0.0 ≤ v < 3.21.7 | 4.4.7, 3.21.7 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.