CVE-2026-128071 json
Nuxt: Incomplete fix for GHSA-6gq8-jgmh-3ffp: an encoded slash (`%2F`) in the request path bypasses route rules on catch-all page routes
published 12d ago modified yesterday also EUVD-2026-125622 , GHSA-f3x9-2chm-73c8
Unreviewed: the maintainers' own advisory
Published by the maintainers on their GitHub repository nuxt/nuxt. GitHub has not reviewed it into the GitHub Advisory Database, so the affected packages and versions are the maintainers' word. Read the full advisory on GitHub.
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
Nuxt is an open-source web development framework for Vue.js. Nuxt from 3.0.0 until 4.6.4, @nuxt/nitro-server from 3.20.0 until 4.6.4, and @nuxt/vite-server from 4.6.0 until 4.6.4, routeRules matching leaves an encoded slash (%2F) in the request path while a catch-all page such as app/pages/[...slug].vue or a custom multi-segment page route decodes it into a route parameter. The getRouteRules result is therefore incomplete, and an unauthenticated request can render the page without the redirect, headers, proxy, SSR, noScripts, appMiddleware, or appLayout rules configured for the decoded path. Protected content is resolved only when the page interprets the decoded parameter accordingly: a custom multi-segment parameter can contain the decoded path, while a repeatable catch-all must join the slash-containing array element; route.path remains encoded and does not resolve that resource. Static pages, single-segment parameters, server/api handlers, and server/routes handlers are not affected because they do not have the same encoded-path mismatch. This issue is fixed in version 4.6.4.
Patch / fix
- npm nuxt 4.6.4
- npm @nuxt/nitro-server 4.6.4
- npm @nuxt/vite-server 4.6.4
Is CVE-2026-128071 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | nuxt | >=4.0.0, <4.6.4 >=3.0.0, <4.0.0 |
4.6.4 |
| npm | @nuxt/nitro-server | >=4.2.0, <4.6.4 >=3.20.0, <4.0.0 |
4.6.4 |
| npm | @nuxt/vite-server | >=4.6.0, <4.6.4 |
4.6.4 |
Affected products
- nuxt nuxt
- @nuxt nitro-server
- @nuxt vite-server
Classification
References
Sources
- CVE List CVE-2026-128071
- NVD CVE-2026-128071
- Maintainer advisory GHSA-f3x9-2chm-73c8
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of nuxt/nuxt published their own advisory on GitHub. Reviewed sources take precedence over it.