Every CVE Search/ Get API key

CVE-2026-114130

Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled

2.3 LowFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Passive

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.41%Up 0.1 points since Oct 22, 2026
90%50%10%1%

What each source reports

CVE List Score used 2.3

Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled

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.

Record
CVE-2026-114130
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-107413 2.3

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.

Record
EUVD-2026-107413
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-jjm6-p2m9-9w4x 2.3

Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled

Impact

An application that renders <NuxtLink :to="..."> with a value it does not control can be made to render an anchor whose href executes script in the application's origin when clicked.

This is an incomplete fix for GHSA-934w-87qh-qr26 (CVE-2026-53722). It only affects applications running without a pages/ directory, where pages resolves to false and Nuxt registers its own router in place of vue-router. Applications using vue-router are not affected.

Prefixing javascript: with an ASCII C0 control character, for example %01, meant the value was not recognised as having a protocol. It was classified as an internal route and so never reached the protocol check added in GHSA-934w-87qh-qr26, and the router used for pages: false passed it through to the rendered href unchanged. Browsers strip the leading control character and run the result as a script URL.

Both <NuxtLink custom> and the default anchor are affected, and the href is present in the server-rendered HTML.

Mitigating factors

  • The application must have pages disabled (no pages/ directory, or pages: false).
  • The application must bind untrusted input to :to.
  • A victim must click the rendered link.

Affected versions

nuxt <4.6.0, including all Nuxt 3 releases. Versions before 4.4.7 and 3.21.7 are also affected by GHSA-934w-87qh-qr26.

Patches

Fixed in [email protected]. Nuxt 3 reached end of life on 31 July 2026 and will not receive a fix.

Anchor href values are now checked for script-capable protocols wherever they are rendered, including the router used when pages is disabled. Protocol detection also moved to the platform URL parser, so a URL is classified the same way the browser will read it.

Workarounds

Upgrade to [email protected] or later. If you cannot upgrade, including on Nuxt 3, validate values before binding them to :to, for example by rejecting anything that is not a path beginning with a single /.

Record
GHSA-jjm6-p2m9-9w4x
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
NVD 2.3

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.

Record
CVE-2026-114130
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-79
Updated
2026-11-02
OSV 2.3

Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled

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.

Record
CVE-2026-114130
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-jjm6-p2m9-9w4x 2.3

Nuxt: Incomplete fix for GHSA-934w-87qh-qr26: a `javascript:` URL prefixed with an ASCII control character executes from `<NuxtLink>` when `pages` is disabled

Impact

An application that renders <NuxtLink :to="..."> with a value it does not control can be made to render an anchor whose href executes script in the application's origin when clicked.

This is an incomplete fix for GHSA-934w-87qh-qr26 (CVE-2026-53722). It only affects applications running without a pages/ directory, where pages resolves to false and Nuxt registers its own router in place of vue-router. Applications using vue-router are not affected.

Prefixing javascript: with an ASCII C0 control character, for example %01, meant the value was not recognised as having a protocol. It was classified as an internal route and so never reached the protocol check added in GHSA-934w-87qh-qr26, and the router used for pages: false passed it through to the rendered href unchanged. Browsers strip the leading control character and run the result as a script URL.

Both <NuxtLink custom> and the default anchor are affected, and the href is present in the server-rendered HTML.

Mitigating factors

  • The application must have pages disabled (no pages/ directory, or pages: false).
  • The application must bind untrusted input to :to.
  • A victim must click the rendered link.

Affected versions

nuxt <4.6.0, including all Nuxt 3 releases. Versions before 4.4.7 and 3.21.7 are also affected by GHSA-934w-87qh-qr26.

Patches

Fixed in [email protected]. Nuxt 3 reached end of life on 31 July 2026 and will not receive a fix.

Anchor href values are now checked for script-capable protocols wherever they are rendered, including the router used when pages is disabled. Protocol detection also moved to the platform URL parser, so a URL is classified the same way the browser will read it.

Workarounds

Upgrade to [email protected] or later. If you cannot upgrade, including on Nuxt 3, validate values before binding them to :to, for example by rejecting anything that is not a path beginning with a single /.

Record
GHSA-jjm6-p2m9-9w4x
CVSS 4.0
2.3 LowCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-79
Updated
2026-11-02
Show 5 moreShow less
OSVCLSA-2026-1793809504 No score

TuxCare security update for nuxt (1 CVE)

TuxCare rebuilt nuxt to address 1 CVE. Fixed in 1.4.5-tuxcare.7.

Record
CLSA-2026-1793809504
Updated
2026-11-04
OSVCLSA-2026-1793810012 No score

TuxCare security update for nuxt (2 CVEs)

TuxCare rebuilt nuxt to address 2 CVEs. Fixed in 3.12.3-tuxcare.14.

Record
CLSA-2026-1793810012
Updated
2026-11-04
OSVCLSA-2026-1793810180 No score

TuxCare security update for nuxt (2 CVEs)

TuxCare rebuilt nuxt to address 2 CVEs. Fixed in 3.12.4-tuxcare.20.

Record
CLSA-2026-1793810180
Updated
2026-11-04
OSVCLSA-2026-1793811511 No score

TuxCare security update for nuxt (3 CVEs)

TuxCare rebuilt nuxt to address 3 CVEs. Fixed in 4.0.3-tuxcare.12.

Record
CLSA-2026-1793811511
Updated
2026-11-04
OSVCLSA-2026-1793812844 No score

TuxCare security update for nuxt (1 CVE)

TuxCare rebuilt nuxt to address 1 CVE. Fixed in 3.2.0-tuxcare.12.

Record
CLSA-2026-1793812844
Updated
2026-11-04

Affected products

Affected packages

Affected packages
PackageAffectedFixed
nuxt
npm
before 4.6.0
4.6.0
nuxt
TuxCare:npm
1.4.5-tuxcare.0 up to 1.4.5-tuxcare.7, plus listed versions
1.4.51.4.5-tuxcare.11.4.5-tuxcare.21.4.5-tuxcare.31.4.5-tuxcare.41.4.5-tuxcare.51.4.5-tuxcare.6
1.4.5-tuxcare.7
nuxt
TuxCare:npm
From an advisory covering 2 CVEs
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.14, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.103.12.3-tuxcare.113.12.3-tuxcare.12
Show 9 moreShow less
3.12.3-tuxcare.133.12.3-tuxcare.23.12.3-tuxcare.33.12.3-tuxcare.43.12.3-tuxcare.53.12.3-tuxcare.63.12.3-tuxcare.73.12.3-tuxcare.83.12.3-tuxcare.9
3.12.3-tuxcare.14
nuxt
TuxCare:npm
From an advisory covering 2 CVEs
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.20, plus listed versions
3.12.43.12.4-tuxcare.103.12.4-tuxcare.113.12.4-tuxcare.123.12.4-tuxcare.13
Show 14 moreShow less
3.12.4-tuxcare.143.12.4-tuxcare.153.12.4-tuxcare.163.12.4-tuxcare.173.12.4-tuxcare.183.12.4-tuxcare.193.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.43.12.4-tuxcare.53.12.4-tuxcare.63.12.4-tuxcare.73.12.4-tuxcare.83.12.4-tuxcare.9
3.12.4-tuxcare.20
nuxt
TuxCare:npm
From an advisory covering 3 CVEs
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.12, plus listed versions
4.0.34.0.3-tuxcare.14.0.3-tuxcare.104.0.3-tuxcare.114.0.3-tuxcare.2
Show 7 moreShow less
4.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.54.0.3-tuxcare.64.0.3-tuxcare.74.0.3-tuxcare.84.0.3-tuxcare.9
4.0.3-tuxcare.12
nuxt
TuxCare:npm
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.12, plus listed versions
3.2.03.2.0-tuxcare.13.2.0-tuxcare.103.2.0-tuxcare.113.2.0-tuxcare.2
Show 7 moreShow less
3.2.0-tuxcare.33.2.0-tuxcare.43.2.0-tuxcare.53.2.0-tuxcare.63.2.0-tuxcare.73.2.0-tuxcare.83.2.0-tuxcare.9
3.2.0-tuxcare.12

History

History
RecordedChangedSources
affected
affected, aliases, factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-114130 is a low vulnerability (CVSS 2.3) in @clerk Nuxt, published October 21, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in nuxt 4.6.0.

References

MoveEnter Open