{"id":"CVE-2026-114130","summary":"Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `\u003cNuxtLink\u003e` when `pages` is disabled","details":"Nuxt is an open-source web development framework for Vue.js. Prior to 4.6.0, an incomplete fix for CVE-2026-53722 allows an application with pages disabled to render a script-capable URL through NuxtLink when attacker-controlled input bound to to is prefixed with an ASCII C0 control character. The no-pages router classifies the value as an internal route before the earlier protocol check and passes it to the rendered anchor href; browsers remove the leading control character and interpret the remaining javascript: URL. The default anchor and NuxtLink custom output are affected, the unsafe href is present in server-rendered HTML, and a victim must click the link for script to execute in the application's origin. This issue is fixed in version 4.6.0.","aliases":["GHSA-jjm6-p2m9-9w4x"],"modified":"2026-10-22T02:48:51.628509649Z","published":"2026-10-21T17:37:58.400Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-79"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114130.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/114xxx/CVE-2026-114130.json"},{"type":"FIX","url":"https://github.com/nuxt/nuxt/commit/355ed9565127ff9b1453deb7160059ed55b3cb85"},{"type":"FIX","url":"https://github.com/nuxt/nuxt/commit/df46569d5d3c7a7799de54c328634168fbae70bb"},{"type":"FIX","url":"https://github.com/nuxt/nuxt/pull/36459"},{"type":"WEB","url":"https://github.com/nuxt/nuxt/releases/tag/v4.6.0"},{"type":"ADVISORY","url":"https://github.com/nuxt/nuxt/security/advisories/GHSA-jjm6-p2m9-9w4x"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114130"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nuxt/nuxt","events":[{"introduced":"0"},{"fixed":"49da92fe0dc0cf97bd218167da822e2827232380"},{"fixed":"355ed9565127ff9b1453deb7160059ed55b3cb85"},{"fixed":"df46569d5d3c7a7799de54c328634168fbae70bb"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"4.6.0"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"355ed9565127ff9b1453deb7160059ed55b3cb85"}]},{"range":[{"fixed":"df46569d5d3c7a7799de54c328634168fbae70bb"}],"source":"REFERENCES_COMMIT"},{"source":"REFERENCES_TAG","original_tag":"v4.6.0","range":[{"fixed":"49da92fe0dc0cf97bd218167da822e2827232380"}]}]}}],"versions":["v4.5.0","v4.5.2","v4.5.1","v4.4.8","v4.4.7","v4.4.6","v4.4.5","v4.4.4","v4.4.3","v4.4.2","v4.4.1","v4.4.0","v4.3.1","v4.3.0","v4.2.2","v4.2.1","v4.2.0","v4.1.3","v4.1.2","v4.1.1","v4.1.0","v4.0.3","v4.0.2","v4.0.1","v4.0.0","v4.0.0-rc.0","v4.0.0-alpha.4","v4.0.0-alpha.3","v4.0.0-alpha.2","v4.0.0-alpha.1","v3.12.2","v3.12.1","v3.12.0","v3.11.2","v3.11.1","v3.11.0","v3.10.3","v3.10.2","v3.10.1","v3.10.0","v3.9.3","v3.9.2","v3.9.1","v3.9.0","v3.8.2","v3.8.1","v3.8.0","v3.7.4","v3.7.3","v3.7.2","v3.7.1","v3.7.0","v3.6.5","v3.6.4","v3.6.3","v3.6.2","v3.6.1","v3.6.0","v3.5.3","v3.5.2","v3.5.1","v3.5.0","v3.4.3","v3.4.2","v3.4.1","v3.4.0","v3.3.3","v3.3.2","v3.3.1","v3.3.0","v3.2.3","v3.2.2","v3.2.1","v3.2.0","v3.1.2","v3.1.1","3.1.1","v3.1.0","v3.0.0","v3.0.0-rc.14","v3.0.0-rc.13","v3.0.0-rc.12","v3.0.0-rc.11","v3.0.0-rc.10","v3.0.0-rc.9","v3.0.0-rc.8","v3.0.0-rc.7","v3.0.0-rc.6","v3.0.0-rc.5","v3.0.0-rc.4","v3.0.0-rc.3","v3.0.0-rc.2","v3.0.0-rc.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-114130.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"}]}