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-reachable open redirect requiring passive user interaction; scope changes to attacker origin enabling OAuth code theft; no privileges required and no availability impact.
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 accept protocol-relative paths such as //evil.com in the reloadNuxtApp function; these pass the script-protocol check but resolve to a cross-origin URL against the current page protocol. Attackers can inject paths like //evil.com to redirect users to attacker-controlled hosts, enabling phishing and OAuth authorization-code theft.
AnalysisAI
Open redirect in Nuxt 3.x before 3.21.7 and 4.x before 4.4.7 allows remote unauthenticated attackers to redirect victims to arbitrary external hosts by supplying protocol-relative paths such as //evil.com to the reloadNuxtApp composable. The function's only security gate checks whether the resolved URL's scheme is a script protocol; protocol-relative paths inherit the page's own scheme (https:), pass that check, and are then written directly to window.location.href. The practical consequence is phishing and OAuth authorization-code theft on any application that forwards user-controlled input into reloadNuxtApp. No public exploit has been identified at time of analysis and no CISA KEV listing exists, but the GHSA advisory notes this is part of a broader cluster of three URL-handling weaknesses in Nuxt's navigation APIs.
Technical ContextAI
Nuxt is a Vue.js-based full-stack meta-framework distributed as the nuxt npm package (CPE: cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:*). The vulnerable code path is in packages/nuxt/src/app/composables/chunk.ts inside the reloadNuxtApp function. The pre-patch logic constructed a URL object via new URL(path, window.location.href) and checked only the resolved .protocol property against a isScriptProtocol allowlist. WHATWG URL parsing defines protocol-relative references (paths beginning with //) as having no scheme of their own; when resolved against a base URL, they adopt the base's scheme but independently set the host component. Thus new URL('//evil.com', 'https://app.example.com').protocol returns 'https:', which is not a script protocol - the check passes - while .host returns 'evil.com'. The fixed code adds url.host !== window.location.host as an explicit gate, closing the bypass. CWE-601 (URL Redirection to Untrusted Site) precisely describes this root cause: failure to validate the host component of a fully-resolved URL before using it as a redirect target.
RemediationAI
Upgrade to Nuxt 4.4.7 (for the 4.x series) or Nuxt 3.21.7 (for the 3.x series); these versions are confirmed as fixed by the npm package advisories in GHSA-c9cv-mq2m-ppp3 (https://github.com/nuxt/nuxt/security/advisories/GHSA-c9cv-mq2m-ppp3) and by the patch commits e447a793c47766834f7497f8412a76cd56fd8ee1 and 6497d99dd106254abd089f6a263d7773869a343b. If an immediate upgrade is not feasible, audit all application code that supplies user-controlled values (query parameters, form fields, cookies) to reloadNuxtApp({ path }) and add an explicit host comparison guard - reject any path whose resolved host differs from window.location.host - before the framework call. Note that this application-level workaround must be applied to every call site and is fragile; patch upgrade is strongly preferred. Adding WAF rules or CSP navigate-to directives to restrict redirect destinations can serve as a detection or partial-mitigation layer but cannot fully substitute for the code-level fix.
More in Open Redirect
View allA malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca
GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of
PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect
Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to
Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows
Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b
Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li
Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3
Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp
Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites
Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for
Nteract v.0.28.0 was discovered to contain a remote code execution (RCE) vulnerability via the Markdown link. Rated crit
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-38378
GHSA-g898-grjx-8jm3