☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2026-56697

CVE-2026-56697 Supply Chain Attack in Nuxt
📅 PUBLISHED: 2026-06-22 21:04 UTC 🔄 UPDATED: 2026-09-23 20:32 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.34%
👁️
0.34% probability
8.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: France License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-56697 is a URL redirection vulnerability in the Nuxt framework (versions 4.0.0 before 4.4.7 and 3.x before 3.21.7). The reloadNuxtApp function accepts protocol-relative paths (e.g., //evil.com), which bypasses the script-protocol check but resolves to a cross-origin URL against the current page protocol. An attacker can inject paths like //evil.com to redirect users to attacker-controlled hosts, enabling phishing attacks and OAuth authorization-code theft.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects the Nuxt npm package. Organizations using Nuxt should immediately audit their dependency trees for affected versions. The package is widely used in the JavaScript ecosystem, and the vulnerability can be exploited via user-supplied input or malicious links. Ensure that package.json and lock files are updated to patched versions (4.4.7 or 3.21.7). Additionally, monitor for any suspicious npm packages that may attempt to exploit this vector.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.1 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

The vulnerability is rated Medium due to the requirement for user interaction (clicking a link) and the limited impact (redirection). However, in the context of OAuth flows, the impact can be severe, leading to account takeover.

Deep Dive & Mechanics

The reloadNuxtApp function is used to programmatically reload the Nuxt application. It accepts a path parameter that can be a relative URL or a protocol-relative URL (starting with //). The function performs a check to ensure the path does not start with javascript: or other script protocols, but it fails to validate protocol-relative URLs.

When a user visits a page that calls reloadNuxtApp({ path: '//evil.com' }), the browser resolves the URL against the current page's protocol (e.g., https://), resulting in a redirect to https://evil.com. This can be exploited by:

  1. Phishing: An attacker crafts a link to a legitimate Nuxt site that triggers the redirect to a malicious login page.
  2. OAuth Authorization Code Theft: If the Nuxt site uses OAuth, the attacker can redirect the user after authorization, capturing the authorization code in the URL fragment.

The vulnerability is in the reloadNuxtApp function's path validation logic. The fix involves rejecting any path that starts with // or is an absolute URL.

Vulnerable vs. Patched Code

Vulnerable Code (Nuxt < 4.4.7 / < 3.21.7):

// packages/nuxt/src/app/composables/reload-nuxt-app.ts
export function reloadNuxtApp(options?: ReloadNuxtAppOptions) {
  const path = options?.path || window.location.pathname
  // Only check for script protocols, not protocol-relative
  if (path.startsWith('javascript:')) {
    return
  }
  window.location.href = path
}

Patched Code (Nuxt >= 4.4.7 / >= 3.21.7):

// packages/nuxt/src/app/composables/reload-nuxt-app.ts
export function reloadNuxtApp(options?: ReloadNuxtAppOptions) {
  const path = options?.path || window.location.pathname
  // Reject protocol-relative and absolute URLs
  if (path.startsWith('//') || path.startsWith('http:') || path.startsWith('https:') || path.startsWith('javascript:')) {
    return
  }
  window.location.href = path
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A Nuxt application running version 4.0.0 to 4.4.6 or 3.0.0 to 3.21.6.
  • Ability to inject a path parameter into reloadNuxtApp (e.g., via a crafted link or XSS).

Exploit Steps:

  1. Identify a Nuxt application that uses reloadNuxtApp with user-controlled input.
  2. Craft a URL that triggers the vulnerability:
    https://victim.com/some-page?redirect=//evil.com
    
  3. If the application passes the redirect parameter to reloadNuxtApp, the user will be redirected to https://evil.com.
  4. For OAuth theft, set up a malicious page that mimics the legitimate OAuth flow and captures the authorization code from the URL.

Proof of Concept (PoC):

<!-- Attacker's page -->
<a href="https://victim.com/login?redirect=//evil.com/oauth-callback">Click here to login</a>

Blue Team

Detection:

  • Monitor for unusual URL patterns in web logs, especially // at the start of paths.
  • Look for reloadNuxtApp calls with suspicious parameters in client-side JavaScript.
  • Use the detection rules below to identify exploitation attempts.

Mitigation:

  • Immediately upgrade to Nuxt 4.4.7 or 3.21.7.
  • If upgrade is not possible, implement a WAF rule to block requests with // in the path parameter.
  • Validate and sanitize all user input before passing to reloadNuxtApp.

Indicators of Compromise (IOCs)

  • URL Patterns: //evil.com or //attacker-controlled-domain in the path parameter of reloadNuxtApp.
  • Network Traffic: HTTP requests to attacker-controlled domains originating from Nuxt applications.
  • Log Entries: Web server logs showing redirects to external domains with // prefix.
  • Client-Side Artifacts: JavaScript console errors or unexpected redirects in Nuxt applications.

Detection Engineering

YARA Rule

rule CVE_2026_56697_Nuxt_Redirect {
  meta:
    description = "Detects Nuxt reloadNuxtApp calls with protocol-relative paths"
    author = "Valters IT"
    date = "2025-04-10"
    reference = "CVE-2026-56697"
  strings:
    $reload = "reloadNuxtApp" nocase
    $path = "path:" nocase
    $protocol_relative = /\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/ 
  condition:
    $reload and $path and $protocol_relative
}

Sigma Rule

title: CVE-2026-56697 - Nuxt Protocol-Relative Path Redirection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation attempts of CVE-2026-56697 via URL patterns
author: Valters IT
date: 2025-04-10
logsource:
  category: web
  product: generic
detection:
  selection:
    cs-uri-query|contains: "//"
    cs-uri-query|re: "//[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
  condition: selection
falsepositives:
  - Legitimate use of protocol-relative URLs in other contexts
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-56697 - Nuxt Protocol-Relative Path Redirection"; flow:to_server; content:"//"; http_uri; pcre:"/\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/R"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Nuxt to version 4.4.7 or 3.21.7.
  2. If upgrade is not possible, apply a WAF rule to block requests containing // in the path parameter.
  3. Review all uses of reloadNuxtApp in the codebase and ensure user input is sanitized.

Long-Term Measures:

  • Implement input validation for all URL parameters.
  • Use a Content Security Policy (CSP) to restrict allowed redirect destinations.
  • Conduct regular security audits of third-party dependencies.

Patch Details:

  • Upgrade to Nuxt 4.4.7 or 3.21.7.
  • The fix is available in the official Nuxt repository.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-56697/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.