Skip to main content

Nuxt EUVDEUVD-2026-114998

| CVE-2026-120309 MEDIUM
Interpretation Conflict (CWE-436)
2026-11-02 VulnCheck GHSA-r8g5-gwcc-5r5r
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send request with %3F-encoded path segment
  2. Delivery
    Nuxt helper and h3 resolve param to divergent values
  3. Exploit
    Authorization check passes against helper value
  4. Execution
    Resource selected from mismatched h3/context param
  5. Impact
    Access unauthorized resource

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
Exploitation Conditions

Exploitation requires the target to run Nuxt (or @nuxt/nitro-server) >=4.6.0 <4.6.2 AND to use an application pattern that reads the same route param from two different sources that must agree - specifically, using getRouterParam/getRouterParams from nuxt/server for one decision (e.g. an authorization check) while using event.context.params or another h3 helper for another decision (e.g. resource selection). The trigger is a request path containing an encoded question mark (%3F) in a param segment, which causes h3 to route on the decoded path up to the '?' while the Nuxt helper reads from mis-aligned raw segments, returning a different value. Named ([id]), unnamed, and catch-all ([...slug]) params are all affected. LIMITING factors: applications reading params exclusively through getRouterParam(s) OR exclusively through event.context.params/h3 helpers are NOT affected; Nuxt 3 and releases before 4.6.0 are NOT affected (helpers introduced in 4.6.0); high attack complexity and the non-default dual-source dependency (reflected as AC:H/AT:P) materially constrain real-world exploitability.

Impact

This is a moderate, conditional authorization-bypass issue (CWE-436 Interpretation Conflict / CWE-863 Incorrect Authorization) rather than a broad critical flaw. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:L) describes a network-reachable, unauthenticated vector but with high attack complexity (AC:H) and an explicit attack requirement (AT:P): exploitation only works against an application that reads the same route param from two different sources and relies on them agreeing. The vuln.today priority is 'this_month' (not act_now/emergency), consistent with a real but non-urgent issue. No KEV listing and no EPSS score are provided in the input, and there is no confirmed public exploit code - only VulnCheck and GHSA advisory references, not a verified working PoC. The signals are therefore internally consistent: real severity is gated by a non-default application coding pattern, so this is a genuine priority for teams running the affected versions with the vulnerable dual-source pattern, but not a widespread mass-exploitation threat. Note the input CVSS is 4.0 only; no CVSS 3.1 vector was supplied, and no EPSS/KEV data was provided to confirm or contradict exploitation likelihood.

Exploit ScenarioDerived

An attacker targets a Nuxt 4.6.0/4.6.1 API route such as server/api/auth/[...slug] that performs an authorization check using getRouterParam from nuxt/server but selects the resource from event.context.params. The attacker sends a request like /api/auth/private%3Fignored/public, where h3 matches slug='private' while getRouterParam returns 'public', so the request passes the authorization check for one resource while acting on another. No public exploit code is confirmed in the input, but the GHSA advisory documents the exact technique; exploitation is unauthenticated (PR:N) but high-complexity (AC:H) and depends on the app's dual-source pattern.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 02, 2026

Route parameter confusion in Nuxt 4.6.0 through 4.6.1 (and the matching @nuxt/nitro-server releases) allows remote attackers to have the getRouterParam/getRouterParams helpers return a parameter value different from the one h3 actually matched, by sending a path segment containing an encoded question mark (%3F). Impact is conditional: only applications that read the same route param from two different sources - the Nuxt helper for an authorization decision and event.context.params or another h3 helper for resource selection - can be driven to check one resource and act on another, yielding limited confidentiality impact. Exploitation requires high attack complexity and a non-default dual-source coding pattern, no public exploit was identified at time of analysis, and the issue is fixed in nuxt@4.6.2.

RemediationAI

Upgrade to nuxt@4.6.2, which also pulls the fixed @nuxt/nitro-server 4.6.2; this is the complete fix and the vendor's primary recommendation (advisory: https://github.com/nuxt/nuxt/security/advisories/GHSA-w7gw-66vg-99gq). If upgrading is not immediately possible, two workarounds are documented: read a given route param from a single source for both the check and the lookup (for example, use event.context.params consistently instead of mixing it with getRouterParam), which removes the mismatch the attack depends on but requires auditing and changing application code paths; or add a server middleware that rejects requests whose path contains %3F, which blocks the known trigger but may break legitimate clients that encode question marks in parameter values. Neither workaround is a substitute for the 4.6.2 upgrade.

Affected VersionsENISA

nuxt 4.6.0 <4.6.2

Affected Packages

euvd nuxt fix: 4.6.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is an interpretation conflict (CWE-436) that escalates into incorrect authorization (CWE-863) inside Nuxt's server routing layer, which is built on h3. The Nuxt helpers getRouterParam/getRouterParams, introduced in 4.6.0 in nuxt/server, deliberately preserve the original percent-encoding of params, so they re-align the raw request URL against the decoded path that h3 routed on. When a path segment carries %3F, h3 routes on the decoded path only up to that '?', while the raw URL is not truncated at the same offset; the helpers therefore read params from the wrong segments and can return a value that differs from event.context.params. Named ([id]), unnamed and catch-all ([...slug]) params are all affected - the advisory's example shows /api/auth/private%3Fignored/public matching slug=private in h3 while getRouterParam(event,'slug',{decode:true}) returned 'public'. The 4.6.2 fix rebuilds params from exactly the path h3 routed on and verifies that each value decodes to the param h3 matched, falling back to h3's params unchanged so the helpers can only differ in encoding, never in value. The CPE entries (cpe:2.3:a:nuxt:nuxt) cover the affected package range.

Know when Nuxt gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Network-reachable and unauthenticated (AV:N/PR:N) but AC:H because it needs the %3F encoding trick plus a non-default dual-source param pattern; impact is unauthorized read access (C:L), no integrity/availability effect confirmed.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Nov 02, 2026 - 04:16 EUVD
CVE Published
Nov 02, 2026 - 02:01 cve.org
MEDIUM 6.3

DescriptionCVE.org

Nuxt from 4.6.0 before 4.6.2 contains a route parameter confusion vulnerability in getRouterParam and getRouterParams that lets attackers return a parameter value different from the one h3 matched by sending paths containing an encoded question mark (%3F). Attackers can craft requests where authorization checks use the Nuxt helper value while resource selection uses event.context.params, allowing access to unauthorized resources.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
High
Nuxt is a widely deployed Vue meta-framework, though only 4.6.0-4.6.1 affected
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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-2026-61793 MEDIUM POC
6.9 Sep 17

Unauthenticated server-side request forgery in Nuxt OG Image (the npm package nuxt-og-image) 6.0.2 through 6.6.x allows

CVE-2025-52662 MEDIUM POC
6.1 Nov 07

A vulnerability in Nuxt DevTools has been fixed in version **2.6.4***. Rated medium severity (CVSS 6.9), this vulnerabil

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-2022-4413 MEDIUM POC
6.1 Dec 12

Cross-site Scripting (XSS) - Reflected in GitHub repository nuxt/framework prior to v3.0.0-rc.13. Rated medium severity

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

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