Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/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
Network-delivered reflected XSS requiring user interaction; scope change to browser origin; low C/I impact bounded to session context.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Nuxt versions 4.0.0 before 4.4.7 and 3.x before 3.21.7 fail to validate script-capable URLs in the navigateTo open option, allowing client-side script execution. Attackers can supply javascript: URLs through the open parameter to execute arbitrary scripts in the application's origin when user-controlled input is passed to navigateTo.
AnalysisAI
Reflected XSS in Nuxt 3.x before 3.21.7 and 4.x before 4.4.7 enables client-side script execution in the application's first-party origin when user-controlled input is passed to the navigateTo() composable's open parameter. The client-side early-open handler invoked window.open(toPath, ...) without running the isScriptProtocol check that guards the normal navigation path, allowing javascript:, data:, and vbscript: scheme URLs to reach window.open() directly. No active exploitation has been confirmed (not listed in CISA KEV), but vendor-released patches are available in versions 4.4.7 and 3.21.7.
Technical ContextAI
Nuxt is a Vue.js meta-framework (npm package nuxt) used to build SSR and client-side rendered web applications. The navigateTo composable in packages/nuxt/src/app/composables/router.ts provides a documented, framework-managed navigation API. For navigations opened in a new window or tab via { open: { target: '_blank' } }, the composable exercised a fast path that called window.open(toPath, ...) before reaching the existing isScriptProtocol guard. This omission - confirmed by the commit diff at 3394716 - is the root cause: CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e., XSS). The fix resolves the toPath value against window.location.href with new URL(), extracts the resolved protocol, and throws if isScriptProtocol returns true - blocking javascript:, data:, and vbscript: schemes. Affected CPE: cpe:2.3:a:nuxt:nuxt across both the 3.x and 4.x branches.
RemediationAI
Upgrade to Nuxt 4.4.7 (for 4.x users) or Nuxt 3.21.7 (for 3.x users); these are the vendor-confirmed fixed versions per GHSA-c9cv-mq2m-ppp3. The patches are at https://github.com/nuxt/nuxt/commit/3394716d4a913cba904b028df5338f2aead50032 and https://github.com/nuxt/nuxt/commit/62fc32eddf648b00a3890141e0235d2a222b024d. If an immediate upgrade is not possible, the specific compensating control is to audit all call sites of navigateTo that pass an open option and ensure no user-controlled value reaches the first argument without allowlist validation; rejecting any URL whose parsed protocol is not https: or http: is sufficient. This server-side or middleware-level input validation adds latency negligible in practice but does require code changes at every affected call site. Full advisory: https://github.com/nuxt/nuxt/security/advisories/GHSA-c9cv-mq2m-ppp3.
Code Injection in GitHub repository nuxt/nuxt prior to 3.5.3. Rated critical severity (CVSS 9.8), this vulnerability is
Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve
Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve
Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated high seve
Nuxt is a free and open-source framework to create full-stack web applications and websites with Vue.js. Rated medium se
Cross-site Scripting (XSS) - Generic in GitHub repository nuxt/framework prior to 3.2.1. Rated medium severity (CVSS 6.1
Cross-site Scripting (XSS) - Reflected in GitHub repository nuxt/framework prior to v3.0.0-rc.13. Rated medium severity
Use of Hard-coded Credentials in GitHub repository nuxtlabs/github-module prior to 1.6.2. Rated critical severity (CVSS
Authentication/authorization bypass in Clerk's official JavaScript SDKs (@clerk/nextjs, @clerk/nuxt, @clerk/astro, and t
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
Nuxt is an open-source web development framework for Vue.js. Rated high severity (CVSS 7.5), this vulnerability is remot
Nuxt is an open-source web development framework for Vue.js. Rated low severity (CVSS 3.1), this vulnerability is remote
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38379
GHSA-h345-75vh-jjwf