CVE-2026-53722 Nuxt: Reflected XSS in `<NuxtLink>` via unsanitised `javascript:` or `data:` URL
Attackers can execute arbitrary scripts in the victim's browser by injecting malicious URLs into NuxtLink components, potentially leading to session hijacking.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-53722?
CVE-2026-53722 is a medium-severity cross-site scripting vulnerability in nuxt, published on 12 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official 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.
Which versions are affected by CVE-2026-53722?
4 open source packages ship an affected version, including nuxt. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
nuxt npm | From 3.0.0 | 3.21.7 |
nuxt npm | From 3.0.0 | 3.21.7 |
nuxt npm | From 4.0.0 | 4.4.7 |
nuxt npm | From 4.0.0 | 4.4.7 |
Products include Nuxt Nuxt.
How do I fix CVE-2026-53722?
Upgrade nuxt to a fixed version for your release line: 3.21.7 or 4.4.7.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2026-53722 being exploited?
There is no known exploitation of CVE-2026-53722 in the wild and no public exploit code.
Other vulnerabilities in nuxt
- CVE-2026-53721 Nuxt: Route-rule middleware bypass via case-sensitivity mismatch between vue-router and the routeRules matcher
- CVE-2024-23657 Path Traversal: '../filedir' in Nuxt Devtools
- CVE-2024-34344 Remote code execution via the browser when running the test locally in nuxt
- CVE-2024-42352 Server-Side Request Forgery (SSRF) in nuxt-icon
- CVE-2023-3224 Code Injection in nuxt/nuxt
Sources
Also known as CLSA-2026-1784077494, CLSA-2026-1784769506, CLSA-2026-1784769536, CLSA-2026-1784856026, CLSA-2026-1784856198, CLSA-2026-1792161452 and 9 more.