CVE-2026-53721
Undergoing Analysis Undergoing Analysis - In Progress
Route-Rule Middleware Bypass in Nuxt.js

Publication date: 2026-06-12

Last updated on: 2026-06-12

Assigner: GitHub, Inc.

Description
Nuxt is an open-source web development framework for Vue.js. From versions 3.11.0 to before 3.21.7 and 4.0.0 to before 4.4.7, there is a route-rule middleware bypass via case-sensitivity mismatch between vue-router and the routeRules matcher. This issue has been patched in versions 3.21.7 and 4.4.7.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-12
Last Modified
2026-06-12
Generated
2026-06-14
AI Q&A
2026-06-12
EPSS Evaluated
2026-06-13
NVD
EUVD
Affected Vendors & Products
Showing 4 associated CPEs
Vendor Product Version / Range
nuxt nuxt From 3.11.0 (inc) to 3.21.7 (exc)
nuxt nuxt From 4.0.0 (inc) to 4.4.7 (exc)
nuxt nuxt 3.21.7
nuxt nuxt 4.4.7
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-178 The product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results.
CWE-863 The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Compliance Impact

This vulnerability allows attackers to bypass middleware authorization checks by exploiting a case-sensitivity mismatch in route matching. As a result, unauthorized access to protected pages can occur.

Such unauthorized access could lead to exposure or unauthorized manipulation of sensitive data, which may violate compliance requirements under standards like GDPR or HIPAA that mandate strict access controls and data protection.

Therefore, if an application relies on Nuxt's routeRules middleware for enforcing security policies, this vulnerability could undermine compliance with these regulations until patched or mitigated.

Executive Summary

CVE-2026-53721 is a vulnerability in the Nuxt.js web development framework where there is a mismatch in case sensitivity between vue-router and Nuxt's routeRules matcher. Vue-router performs case-insensitive path matching by default, but Nuxt's routeRules matcher was case-sensitive. This discrepancy allows attackers to bypass middleware rules by altering the case of URL segments, causing authorization checks defined in routeRules.appMiddleware to be skipped.

For example, a route rule defined for /admin/dashboard would not match a request to /Admin/dashboard, allowing unauthorized access to protected pages.

Impact Analysis

This vulnerability can lead to unauthorized access to protected pages or resources in applications using Nuxt.js routeRules for authorization middleware. Attackers can bypass security middleware by simply changing the case of URL paths, effectively skipping authorization checks.

This can compromise the security of the application, exposing sensitive data or functionality to unauthorized users.

Detection Guidance

This vulnerability arises from a case-sensitivity mismatch between vue-router and Nuxt's routeRules matcher, allowing middleware bypass when URL path case differs.

To detect this vulnerability on your system, you can test if routeRules middleware is bypassed by sending HTTP requests with altered case in URL paths that should be protected by middleware.

For example, if you have a protected route like /admin/dashboard, try accessing /Admin/dashboard or other case variations and observe if the middleware or authorization checks are enforced.

You can use curl commands to test this behavior:

  • curl -i https://yourdomain.com/admin/dashboard
  • curl -i https://yourdomain.com/Admin/dashboard

If the second request bypasses middleware or authorization checks, your system is vulnerable.

Mitigation Strategies

Immediate mitigation steps include upgrading Nuxt.js to versions 3.21.7 or later, or 4.4.7 or later, where the vulnerability has been patched by enforcing case-insensitive route rule matching.

If upgrading is not immediately possible, temporary mitigations suggested are:

  • Set router.options.sensitive = true to enforce case-sensitive matching in vue-router, aligning behavior and preventing bypass.
  • Move middleware logic to definePageMeta instead of relying on routeRules.appMiddleware.
  • Enforce authorization checks at the API layer to ensure security regardless of route matching.
Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-53721. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart