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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-436",
"CWE-863"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114131.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "4.0.0"
},
{
"fixed": "4.4.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.11.0"
},
{
"fixed": "3.21.4"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "81f86ac5ee82bb1a9b887e59f3bc84624d711497"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "9123ed850c468a7424a868c20d0d49a5507d32e5"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "v3.21.11",
"range": [
{
"fixed": "e0a6ae9d5d68068f0d9108b385c6bb4c7f98fd4b"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v4.5.2",
"range": [
{
"fixed": "e2d3a3945a3459c0e3a869de85c0b53c6c214432"
}
],
"source": "REFERENCES_TAG"
}
]
}