Percent-encoded paths bypass appMiddleware route rules in Nuxt
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
Nuxt from 3.11.0 before 3.21.4 and from 4.0.0 before 4.4.4 compares route rule keys with the raw request path, while route resolution decodes dynamic and catch-all parameters (CWE-436). A percent-encoded path segment resolves to a protected page without matching the routeRules entry for that path, so an unauthenticated remote attacker can skip appMiddleware during server rendering and receive the gated page and its SSR data.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nuxt | nuxt | 4.0.0 to before 4.4.4; 3.11.0 to before 3.21.4 | 4.4.4, 3.21.4 | Patch available | CNA |
| — | nuxt (npm) | 4.0.0 to before 4.4.4 | 4.4.4 | Patch available | GHSA-6gq8-jgmh-3ffp |
| — | nuxt (npm) | 3.11.0 to before 3.21.4 | 3.21.4 | Patch available | GHSA-6gq8-jgmh-3ffp |
- nuxt Vendornuxt Affected 4.0.0 to before 4.4.4; 3.11.0 to before 3.21.4 Fixed in 4.4.4, 3.21.4 Patch available CNA
- nuxt (npm) Vendor— Affected 4.0.0 to before 4.4.4 Fixed in 4.4.4 Patch available GHSA-6gq8-jgmh-3ffp
- nuxt (npm) Vendor— Affected 3.11.0 to before 3.21.4 Fixed in 3.21.4 Patch available GHSA-6gq8-jgmh-3ffp
Remediation
Upgrade the nuxt npm package to 3.21.4 on the 3.x line or to 4.4.4 on the 4.x line.
Written with Claude Haiku 5.5 from the sources below · 2026-10-30
- Fix · CNA nuxt (nuxt) Fixed in 4.4.4, 3.21.4
- Fix · GHSA-6gq8-jgmh-3ffp nuxt (npm) Fixed in 4.4.4 Advisory →
- Fix · GHSA-6gq8-jgmh-3ffp nuxt (npm) Fixed in 3.21.4 Advisory →
Timeline
- 2026-10-21 Threatist record created from CVE-2026-114131
- 2026-10-22 Alias added: GHSA-6gq8-jgmh-3ffp
- 2026-10-22 Fix available: npm/[email protected], npm/[email protected] · GHSA-6gq8-jgmh-3ffp
- 2026-10-22 CVSS score added · GHSA-6gq8-jgmh-3ffp
- 2026-10-22 Weakness changed · GHSA-6gq8-jgmh-3ffp
- 2026-10-22 7 new references · GHSA-6gq8-jgmh-3ffp
- 2026-10-23 Priority changed: MEDIUM → LOW
- 2026-10-30 CISA SSVC decision points changed
References
Other 6
- https://github.com/nuxt/nuxt/security/advisories/GHSA-6gq8-jgmh-3ffp
- 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/nuxt/nuxt
More nuxt vulnerabilities
- TI-2023-03020 Code Injection in nuxt/nuxt CVSS 3.1CRITICAL 9.8
- TI-2024-28339 Server-Side Request Forgery (SSRF) in nuxt-icon CVSS 3.1HIGH 8.6
- TI-2024-22685 Remote code execution via the browser when running the test locally in nuxt CVSS 3.1HIGH 8.8
- TI-2026-26689 Nuxt OG Image vulnerable to DoS via image generation CVSS 4.0MEDIUM 6.9
- TI-2022-04037 Cross-site Scripting (XSS) - DOM in nuxt/framework CVSS 3.1MEDIUM 6.1
- TI-2022-04036 Cross-site Scripting (XSS) - Reflected in nuxt/framework CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-114131 · CVE Program
- CVE-2026-114131 · NVD
- FIRST EPSS
- GHSA-6gq8-jgmh-3ffp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences