Vulnerability · Published Oct 21, 2026 · Assigned by GitHub_M
CVE-2026-114131Nuxt: Route rules are matched against the raw request path, so a percent-encoded segment can bypass `appMiddleware` on dynamic and catch-all routes
Medium 6.5
In plain English
A medium-severity incorrect authorization in nuxt from nuxt. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 30% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | nuxt | 4.4.4 | GHSA-6gq8-jgmh-3ffp |
| npm | nuxt | 3.21.4 | GHSA-6gq8-jgmh-3ffp |
Affected products (as reported)
Weakness: CWE-436, CWE-863 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
References
- https://github.com/nuxt/nuxt/security/advisories/GHSA-6gq8-jgmh-3ffp x_refsource_CONFIRM
- https://github.com/nuxt/nuxt/commit/81f86ac5ee82bb1a9b887e59f3bc84624d711497 x_refsource_MISC
- https://github.com/nuxt/nuxt/commit/9123ed850c468a7424a868c20d0d49a5507d32e5 x_refsource_MISC
- https://github.com/nuxt/nuxt/releases/tag/v3.21.11 x_refsource_MISC
- https://github.com/nuxt/nuxt/releases/tag/v4.5.2 x_refsource_MISC