CVE-2026-114131 · 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
- Risk score
- 48/100
- CVSS
- 6.5 v3.1
- Exploit chance (30 days)
- 0.3%
- Published
- 21 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- 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 ent…
- Affected
- nuxt (npm) >= 4.0.0, < 4.4.4; nuxt (npm) >= 3.11.0, < 3.21.4
- Fix
- Upgrade nuxt to 4.4.4 or 3.21.4 (whichever matches your release line) or later.
- Exploitation
- No known exploitation
Story map
At a glance
nuxt: Yellow, plan it in. 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 ent…
The flaws
- CVE-2026-114131: Nuxt: Route rules are matched against the raw request path, so a percent-encoded segment can bypass `appMiddleware` on dynamic and catch-all routes (CVSS 6.5 · EPSS 0%)
- CVE-2026-114132: Nuxt: Server-side route rules (`redirect`, `headers`, `proxy`, `ssr`) are skipped for case-variant paths when routing is case-insensitive (CVSS 6.3 · EPSS 0%)
The fix
Upgrade nuxt: 4.4.4 · 3.21.4 · 4.6.2 or later on your release line
Who is exposed: nuxt (npm) >= 4.0.0, < 4.4.4; nuxt (npm) >= 3.11.0, < 3.21.4
Where it stands
- No known exploitation
Connects to
- Same weakness: CWE-436 (CWE-436). 21 other warnings in 30 days
Why it is Yellow
- CVSS 6.5 medium
- On your watchlist: npm
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| nuxt | npm | >= 4.0.0, < 4.4.4 | 4.4.4 |
| nuxt | npm | >= 3.11.0, < 3.21.4 | 3.21.4 |
References
- https://github.com/advisories/GHSA-6gq8-jgmh-3ffp
- https://github.com/nuxt/nuxt/security/advisories/GHSA-6gq8-jgmh-3ffp
- https://nvd.nist.gov/vuln/detail/CVE-2026-114131
- https://github.com/nuxt/nuxt/commit/81f86ac5ee82bb1a9b887e59f3bc84624d711497
- https://github.com/nuxt/nuxt/commit/9123ed850c468a7424a868c20d0d49a5507d32e5
- https://github.com/nuxt/nuxt/releases/tag/v3.21.11
- https://github.com/nuxt/nuxt/releases/tag/v4.5.2
- https://github.com/advisories/GHSA-6gq8-jgmh-3ffp
Original 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.
Last activity 21 Oct 2026. Patch Forecast updates every hour.