Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. nuxt
  4. ›
  5. GHSA-c9cv-mq2m-ppp3

GHSA-c9cv-mq2m-ppp3: Nuxt: URL-handling weaknesses in `navigateTo` and `reloadNuxtApp`: SSR open redirect, client-side script execution via the `open` option, and protocol-relative bypass in `reloadNuxtApp`

June 16, 2026 (updated September 18, 2026)

Three weaknesses in Nuxt’s client-navigation URL handling, all reachable from documented public APIs (navigateTo and reloadNuxtApp):

  1. (CVE-2026-56326) SSR open redirect in navigateTo via path-normalisation bypass. navigateTo decided whether a target was external by inspecting the raw input with hasProtocol(..., { acceptRelative: true }). Inputs such as /..//evil.com, /.//evil.com, /%2e%2e//evil.com, or /app/..//evil.com slipped past that check because they start with /, but WHATWG URL parsing then normalised them to the protocol-relative pathname //evil.com. The normalised value was written to the Location response header and into the <meta http-equiv="refresh"> body of the SSR redirect page, so a victim’s browser would resolve the redirect cross-origin to the attacker’s host.

  2. (CVE-2026-56698) Client-side script execution via navigateTo({ open: ... }). The client-side early-open handler called window.open(toPath, ...) without applying the isScriptProtocol check that gates the normal navigateTo path. A target of javascript:... (or another script-capable scheme) passed to navigateTo(url, { open: { ... } }) therefore executed in the application’s origin instead of being rejected.

  3. (CVE-2026-56697) Open redirect in reloadNuxtApp via protocol-relative bypass. reloadNuxtApp({ path }) rejects script-capable protocols by parsing the path with new URL(path, window.location.href) and checking the resolved protocol against isScriptProtocol. Protocol-relative paths such as //evil.com resolve to the current page’s protocol (https:), which passes that check; the value is then assigned to window.location.href, which the browser treats as a cross-origin redirect. This is the same protocol-relative bypass family as (1), in a different sink.

References

  • github.com/advisories/GHSA-c9cv-mq2m-ppp3
  • github.com/nuxt/nuxt/commit/1f2dd5e78c77576437138e97671965573c232835
  • github.com/nuxt/nuxt/commit/2cce6fb02e621196d56df92e05594e07469b5a6d
  • github.com/nuxt/nuxt/commit/3394716d4a913cba904b028df5338f2aead50032
  • github.com/nuxt/nuxt/commit/62fc32eddf648b00a3890141e0235d2a222b024d
  • github.com/nuxt/nuxt/commit/6497d99dd106254abd089f6a263d7773869a343b
  • github.com/nuxt/nuxt/commit/e447a793c47766834f7497f8412a76cd56fd8ee1
  • github.com/nuxt/nuxt/pull/35115
  • github.com/nuxt/nuxt/pull/35206
  • github.com/nuxt/nuxt/security/advisories/GHSA-c9cv-mq2m-ppp3
  • nvd.nist.gov/vuln/detail/CVE-2026-56326
  • nvd.nist.gov/vuln/detail/CVE-2026-56697
  • nvd.nist.gov/vuln/detail/CVE-2026-56698
  • www.vulncheck.com/advisories/nuxt-cross-site-scripting-via-navigateto-open-option
  • www.vulncheck.com/advisories/nuxt-open-redirect-via-protocol-relative-paths-in-reloadnuxtapp
  • www.vulncheck.com/advisories/nuxt-server-side-open-redirect-via-path-normalization-bypass-in-navigateto

Code Behaviors & Features

Detect and mitigate GHSA-c9cv-mq2m-ppp3 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 3.5.0 before 3.21.7, all versions starting from 4.0.0 before 4.4.7

Fixed versions

  • 3.21.7
  • 4.4.7

Solution

Upgrade to versions 3.21.7, 4.4.7 or above.

Impact 6.1 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-601: URL Redirection to Untrusted Site ('Open Redirect')
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

npm/nuxt/GHSA-c9cv-mq2m-ppp3.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:33 +0000.