Read the docs

Percent-encoded paths bypass appMiddleware route rules in Nuxt

Priority LOW 35CWE-436Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00363 30th percentileScored 2026-11-07
Fix Fixed nuxt (nuxt): 4.4.4, 3.21.4nuxt (npm): 4.4.4, 3.21.4

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

VendorProductAffected versionsFixed inStatusSource
nuxtnuxt4.0.0 to before 4.4.4; 3.11.0 to before 3.21.44.4.4, 3.21.4Patch availableCNA
—nuxt (npm)4.0.0 to before 4.4.44.4.4Patch availableGHSA-6gq8-jgmh-3ffp
—nuxt (npm)3.11.0 to before 3.21.43.21.4Patch availableGHSA-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

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:*——nuxt
  • cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:* Versions — — ·nuxt

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

  1. 2026-10-21 Threatist record created from CVE-2026-114131
  2. 2026-10-22 Alias added: GHSA-6gq8-jgmh-3ffp
  3. 2026-10-22 Fix available: npm/[email protected], npm/[email protected] · GHSA-6gq8-jgmh-3ffp
  4. 2026-10-22 CVSS score added · GHSA-6gq8-jgmh-3ffp
  5. 2026-10-22 Weakness changed · GHSA-6gq8-jgmh-3ffp
  6. 2026-10-22 7 new references · GHSA-6gq8-jgmh-3ffp
  7. 2026-10-23 Priority changed: MEDIUM → LOW
  8. 2026-10-30 CISA SSVC decision points changed

References

  • 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
See all 44 →

Sources