Description
Nuxt is an open-source web development framework for Vue.js. From 3.11.0 until 3.21.4 and 4.4.4, Nuxt compares route-rule keys with the raw request path while route resolution decodes dynamic and catch-all parameters, allowing a percent-encoded segment to resolve to a protected page without matching the routeRules entry intended for that path. As a result, appMiddleware can be skipped during server rendering and an unauthenticated requester can receive the gated page and its SSR data. The same mismatch affects app-manifest rules including redirect, appLayout, ssr, prerender, and payload flags derived from cache, isr, and swr. This vulnerability is fixed in 4.4.4 and 3.21.4.
Published: 2026-10-21
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Authentication bypass leading to disclosure of server‑side rendered content
Action: Immediate Patch
AI Analysis

Impact

Nuxt, an open‑source Vue.js framework, compared route‑rule keys against the raw request path while decoding dynamic and catch‑all parameters during route resolution. This inconsistency allowed an attacker to encode a path segment in percent form, causing the request to resolve to a protected page without matching the intended routeRule. As a result, the framework’s appMiddleware could be bypassed during server‑side rendering, enabling an unauthenticated user to receive the gated page and its server‑rendered data. The vulnerability also applies to app‑manifest rules such as redirect, appLayout, ssr, prerender, and payload flags derived from cache, isr, or swr, potentially exposing additional protected content.

Affected Systems

Nuxt versions from 3.11.0 through 3.21.4 inclusive, and all Nuxt 4.x releases before 4.4.4 are affected. The fix was introduced in Nuxt v3.21.4 and v4.4.4, so deployments using these earlier ranges and employing routeRule, redirect, appLayout, ssr, prerender, or payload flags are at risk.

Risk and Exploitability

The CVSS base score of 6.5 denotes moderate severity. No EPSS score is available, and the vulnerability is not listed in the CISA KEV catalog. Likely vectors involve a direct HTTP request to a protected route that contains a percent‑encoded segment; no privileged access is required. Once the bypass is successful, the attacker can view content and SSR data that should have been gated behind authentication.

Generated by OpenCVE AI on October 22, 2026 at 03:00 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Nuxt v3.21.4 or later, or to Nuxt v4.4.4 or later, which corrects the path matching logic.
  • After applying the patch, test that protected still trigger appMiddleware and that no SSR data is exposed to unauthenticated users.
  • As a temporary safeguard, block or strip percent‑encoded characters from URLs that target protected content until the upgrade is deployed.

Generated by OpenCVE AI on October 22, 2026 at 03:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-6gq8-jgmh-3ffp Nuxt: Route rules are matched against the raw request path, so a percent-encoded segment can bypass `appMiddleware` on dynamic and catch-all routes
History

Tue, 10 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 11:15:00 +0000

Type Values Removed Values Added
First Time appeared Nuxt
Nuxt nuxt
Vendors & Products Nuxt
Nuxt nuxt

Wed, 21 Oct 2026 17:45:00 +0000

Type Values Removed Values Added
Description Nuxt is an open-source web development framework for Vue.js. From 3.11.0 until 3.21.4 and 4.4.4, Nuxt compares route-rule keys with the raw request path while route resolution decodes dynamic and catch-all parameters, allowing a percent-encoded segment to resolve to a protected page without matching the routeRules entry intended for that path. As a result, appMiddleware can be skipped during server rendering and an unauthenticated requester can receive the gated page and its SSR data. The same mismatch affects app-manifest rules including redirect, appLayout, ssr, prerender, and payload flags derived from cache, isr, and swr. This vulnerability is fixed in 4.4.4 and 3.21.4.
Title Nuxt: Route rules are matched against the raw request path, so a percent-encoded segment can bypass `appMiddleware` on dynamic and catch-all routes
Weaknesses CWE-436
CWE-863
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T17:48:52.857Z

Reserved: 2026-10-20T21:53:58.473Z

Link: CVE-2026-114131

cve-icon Vulnrichment

Updated: 2026-10-30T17:48:49.300Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T18:17:25.957

Modified: 2026-10-30T18:17:22.087

Link: CVE-2026-114131

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T11:00:05Z

Weaknesses