Skip to main content
← All vulnerabilities
CVE-2026-114131GHSA-6GQ8-JGMH-3FFP

Nuxt: Route rules are matched against the raw request path, so a percent-encoded segment can bypass `appMiddleware` on dynamic and…

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.4.4, 3.21.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  4. Record last updated

Affected versions

  • nuxt nuxt

    From 4.0.0 · fixed in 4.4.4; From 3.11.0 · fixed in 3.21.4

  • nuxtnpm

    From 4.0.0 · fixed in 4.4.4

  • nuxtnpm

    From 3.11.0 · fixed in 3.21.4

References 5

GitHub · nuxt/nuxt