Skip to main content

Nuxt CVE-2026-53722

| EUVDEUVD-2026-36428 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-06-12 GitHub_M GHSA-934w-87qh-qr26
5.1
CVSS 4.0 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.1 MEDIUM

Network-delivered XSS with no privileges required; S:C because script executes in the application's browser origin; UI:R for required victim click.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
A
Scope
X

Lifecycle Timeline

3
Patch available
Jun 12, 2026 - 16:01 EUVD
Source Code Evidence Fetched
Jun 12, 2026 - 14:55 vuln.today
Analysis Generated
Jun 12, 2026 - 14:55 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Reflected DOM-based XSS in Nuxt's built-in <NuxtLink> component allows an unauthenticated attacker to inject script-capable URLs (javascript:, vbscript:) that execute in the application's origin when a victim clicks a crafted link, affecting all Nuxt v3 versions prior to 3.21.7 and v4 versions prior to 4.4.7. Exploitation is contingent on application code that binds attacker-controlled input - such as query parameters, CMS link fields, or user-supplied profile URLs - directly to the component's to or href props without prior sanitization. No public exploit code has been identified and the EPSS score of 0.06% (20th percentile) indicates low observed exploitation probability; vendor-released patches are available in versions 3.21.7 and 4.4.7.

Technical ContextAI

The vulnerability resides in packages/nuxt/src/app/components/nuxt-link.ts, Nuxt's routing anchor component that wraps Vue Router's useLink composable. Prior to the fix, any value passed to the to or href prop was reflected verbatim into the rendered <a> element's href attribute without protocol validation, satisfying CWE-79 (Improper Neutralization of Input During Web Page Generation). Browsers interpret javascript: and vbscript: URLs as executable scripts when activated, making any unsanitized href sink a potential XSS vector. A secondary data:text/html payload does not execute in the application's origin but enables a same-tab phishing surface anchored to a legitimate URL. The custom slot mechanism also exposed the raw href and route.href values to slot consumers, meaning applications that re-bound those props to their own anchor elements were identically vulnerable. The fix, delegating scheme validation to ufo's isScriptProtocol helper, introduces sanitizeExternalHref() which strips ASCII whitespace and control characters (exploited by parsers tolerating them before the scheme), recursively peels view-source: prefixes (transparently resolved by Chromium), and rejects javascript:, data:, vbscript:, and blob: schemes by returning null. The affected CPE is cpe:2.3:a:nuxt:nuxt:* covering all pre-patch releases.

RemediationAI

The primary remediation is to upgrade to Nuxt 3.21.7 (v3 branch) or 4.4.7 (v4 branch), both of which include the sanitizeExternalHref() fix confirmed by patch commits at https://github.com/nuxt/nuxt/commit/0103ce06fbbbdfa079a7f020ef8ce00121eac4a3 and https://github.com/nuxt/nuxt/commit/53284043dc21210a25d629d1cec67d3ae557ffd0. If immediate upgrade is not feasible, applications should implement server-side or data-layer URL validation before binding any external input to <NuxtLink> props: specifically, allow only known-safe schemes (https:, http:, mailto:, tel:) via an explicit allowlist, rejecting all others prior to rendering - placing this check in the data pipeline rather than in the template avoids reliance on client-side component behavior. Additionally, deploying a strict Content Security Policy header (script-src 'self' with no unsafe-inline) will reduce exploitability of any residual XSS sinks, though CSP alone will not prevent DOM-based injection or the data: phishing vector. Custom slot consumers that re-bind the href or route.href slot props to their own anchor elements must apply the same input sanitization.

More in Nuxt

View all
CVE-2023-3224 CRITICAL POC
9.8 Jun 13

Code Injection in GitHub repository nuxt/nuxt prior to 3.5.3. Rated critical severity (CVSS 9.8), this vulnerability is

CVE-2024-34344 HIGH POC
8.8 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2024-23657 HIGH POC
8.8 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2024-42352 HIGH POC
7.5 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve

CVE-2024-34343 MEDIUM POC
6.1 Aug 05

Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated medium se

CVE-2023-0878 MEDIUM POC
6.1 Feb 17

Cross-site Scripting (XSS) - Generic in GitHub repository nuxt/framework prior to 3.2.1. Rated medium severity (CVSS 6.1

CVE-2023-2138 CRITICAL
9.8 Apr 18

Use of Hard-coded Credentials in GitHub repository nuxtlabs/github-module prior to 1.6.2. Rated critical severity (CVSS

CVE-2026-41248 CRITICAL
9.1 Apr 24

Authentication/authorization bypass in Clerk's official JavaScript SDKs (@clerk/nextjs, @clerk/nuxt, @clerk/astro, and t

CVE-2026-53721 HIGH POC
8.8 Jun 12

Route-rule middleware bypass in Nuxt 3.11.0-3.21.6 and 4.0.0-4.4.6 allows remote attackers to evade routeRules-defined p

CVE-2025-27415 HIGH
7.5 Mar 19

Nuxt is an open-source web development framework for Vue.js. Rated high severity (CVSS 7.5), this vulnerability is remot

CVE-2025-59414 LOW POC
3.1 Sep 17

Nuxt is an open-source web development framework for Vue.js. Rated low severity (CVSS 3.1), this vulnerability is remote

CVE-2026-72744 MEDIUM
6.9 Aug 11

Information disclosure in Nuxt's development server exposes the project's absolute filesystem root path and a persistent

Share

CVE-2026-53722 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy