CVE-2026-71314
Nuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island rendering
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an unauthenticated attacker can use a server island v-for prop, including vforToArray and , to trigger unbounded SSR memory allocation until MAX_VFOR_LENGTH = 100000 and crash the Nuxt process. This issue is fixed in 3.21.10 and 4.5.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Nuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island rendering
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an unauthenticated attacker can use a server island v-for prop, including vforToArray and , to trigger unbounded SSR memory allocation until MAX_VFOR_LENGTH = 100000 and crash the Nuxt process. This issue is fixed in 3.21.10 and 4.5.1.
- Record
CVE-2026-71314- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770, CWE-789, CWE-1284
- Updated
- 2026-11-02
EUVDEUVD-2026-53644
7.5
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an unauthenticated attacker can use a server island v-for prop, including vforToArray and , to trigger unbounded SSR memory allocation until MAX_VFOR_LENGTH = 100000 and crash the Nuxt process. This issue is fixed in 3.21.10 and 4.5.1.
- Record
EUVD-2026-53644- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-hxcr-hm88-mpq6
7.5
Nuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island rendering
Impact
An unauthenticated attacker can crash a Nuxt server that renders any island / server component containing a v-for over a prop (for example v-for="n in count" or a <slot v-for>). Because the island URL hash is a non-secret digest of the request, the attacker can compute a valid hash for arbitrary props and send the iterated prop as a large integer. The server then expands the v-for to that many nodes during SSR, allocating memory proportional to the attacker's number. Reporter figures: count=8000000 produced a 142.9 MB response; count=40000000 (and items=4000000 on a slot list) produced an out-of-memory crash of the worker from a single ~130-byte request. Both the plain v-for path (Vue's ssrRenderList) and the slot path (vforToArray) are affected.
Patches
Fixed in [email protected] and [email protected]. Island/server-component v-for sources are now clamped to a maximum iteration count (MAX_VFOR_LENGTH = 100000) at the render boundary, covering the plain path, the <slot v-for> element, and the vforToArray slot-props helper. Combined with the body-size cap (GHSA-9pgf-384g-p7mv), a single island render can no longer allocate without bound regardless of which v-for path is used or whether the prop arrives as an integer or an array.
Workarounds
Avoid v-for directly over an unclamped prop in server components, or clamp the count in the component (v-for="n in Math.min(count, 1000)"). A body-size limit in front of /__nuxt_island/ only mitigates array-shaped inputs, not the integer-amplification case.
References
- Bound helper:
packages/nuxt/src/app/components/vfor.ts - Transform:
packages/nuxt/src/components/plugins/islands-transform.ts - Slot helper:
packages/nuxt/src/app/components/utils.ts(vforToArray)
- Record
GHSA-hxcr-hm88-mpq6- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770, CWE-789, CWE-1284
- Updated
- 2026-11-02
NVD
7.5
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an unauthenticated attacker can use a server island v-for prop, including vforToArray and , to trigger unbounded SSR memory allocation until MAX_VFOR_LENGTH = 100000 and crash the Nuxt process. This issue is fixed in 3.21.10 and 4.5.1.
- Record
CVE-2026-71314- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770, CWE-789, CWE-1284
- Updated
- 2026-11-02
OSV
7.5
Nuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island rendering
Nuxt is an open-source web development framework for Vue.js. From 3.1.0 until 3.21.10 and 4.5.1, an unauthenticated attacker can use a server island v-for prop, including vforToArray and , to trigger unbounded SSR memory allocation until MAX_VFOR_LENGTH = 100000 and crash the Nuxt process. This issue is fixed in 3.21.10 and 4.5.1.
- Record
CVE-2026-71314- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1284, CWE-400, CWE-770, CWE-789
- Updated
- 2026-11-02
OSVGHSA-hxcr-hm88-mpq6
7.5
Nuxt: Unauthenticated out-of-memory crash via unbounded v-for expansion in island rendering
Impact
An unauthenticated attacker can crash a Nuxt server that renders any island / server component containing a v-for over a prop (for example v-for="n in count" or a <slot v-for>). Because the island URL hash is a non-secret digest of the request, the attacker can compute a valid hash for arbitrary props and send the iterated prop as a large integer. The server then expands the v-for to that many nodes during SSR, allocating memory proportional to the attacker's number. Reporter figures: count=8000000 produced a 142.9 MB response; count=40000000 (and items=4000000 on a slot list) produced an out-of-memory crash of the worker from a single ~130-byte request. Both the plain v-for path (Vue's ssrRenderList) and the slot path (vforToArray) are affected.
Patches
Fixed in [email protected] and [email protected]. Island/server-component v-for sources are now clamped to a maximum iteration count (MAX_VFOR_LENGTH = 100000) at the render boundary, covering the plain path, the <slot v-for> element, and the vforToArray slot-props helper. Combined with the body-size cap (GHSA-9pgf-384g-p7mv), a single island render can no longer allocate without bound regardless of which v-for path is used or whether the prop arrives as an integer or an array.
Workarounds
Avoid v-for directly over an unclamped prop in server components, or clamp the count in the component (v-for="n in Math.min(count, 1000)"). A body-size limit in front of /__nuxt_island/ only mitigates array-shaped inputs, not the integer-amplification case.
References
- Bound helper:
packages/nuxt/src/app/components/vfor.ts - Transform:
packages/nuxt/src/components/plugins/islands-transform.ts - Slot helper:
packages/nuxt/src/app/components/utils.ts(vforToArray)
- Record
GHSA-hxcr-hm88-mpq6- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-1284, CWE-400, CWE-770, CWE-789
- Updated
- 2026-11-02
Show 12 moreShow less
OSVCLSA-2026-1788450984 No score
TuxCare security update for nuxt (11 CVEs)
TuxCare rebuilt nuxt to address 11 CVEs. Fixed in 3.12.4-tuxcare.12.
- Record
CLSA-2026-1788450984- Updated
- 2026-11-02
OSVCLSA-2026-1789598338 No score
TuxCare security update for nuxt (7 CVEs)
TuxCare rebuilt nuxt to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1789598338- Updated
- 2026-11-02
OSVCLSA-2026-1792161460 No score
TuxCare security update for @nuxt/kit (11 CVEs)
TuxCare rebuilt @nuxt/kit to address 11 CVEs. Fixed in 3.12.4-tuxcare.12.
- Record
CLSA-2026-1792161460- Updated
- 2026-11-02
OSVCLSA-2026-1792161463 No score
TuxCare security update for @nuxt/kit (7 CVEs)
TuxCare rebuilt @nuxt/kit to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1792161463- Updated
- 2026-11-02
OSVCLSA-2026-1792161485 No score
TuxCare security update for @nuxt/rspack-builder (7 CVEs)
TuxCare rebuilt @nuxt/rspack-builder to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1792161485- Updated
- 2026-11-02
OSVCLSA-2026-1792161601 No score
TuxCare security update for @nuxt/schema (11 CVEs)
TuxCare rebuilt @nuxt/schema to address 11 CVEs. Fixed in 3.12.4-tuxcare.12.
- Record
CLSA-2026-1792161601- Updated
- 2026-11-02
OSVCLSA-2026-1792161604 No score
TuxCare security update for @nuxt/schema (7 CVEs)
TuxCare rebuilt @nuxt/schema to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1792161604- Updated
- 2026-11-02
OSVCLSA-2026-1792161823 No score
TuxCare security update for @nuxt/vite-builder (11 CVEs)
TuxCare rebuilt @nuxt/vite-builder to address 11 CVEs. Fixed in 3.12.4-tuxcare.12.
- Record
CLSA-2026-1792161823- Updated
- 2026-11-02
OSVCLSA-2026-1792161826 No score
TuxCare security update for @nuxt/vite-builder (7 CVEs)
TuxCare rebuilt @nuxt/vite-builder to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1792161826- Updated
- 2026-11-02
OSVCLSA-2026-1792161936 No score
TuxCare security update for @nuxt/webpack-builder (11 CVEs)
TuxCare rebuilt @nuxt/webpack-builder to address 11 CVEs. Fixed in 3.12.4-tuxcare.12.
- Record
CLSA-2026-1792161936- Updated
- 2026-11-02
OSVCLSA-2026-1792161939 No score
TuxCare security update for @nuxt/webpack-builder (7 CVEs)
TuxCare rebuilt @nuxt/webpack-builder to address 7 CVEs. Fixed in 4.0.3-tuxcare.7.
- Record
CLSA-2026-1792161939- Updated
- 2026-11-02
OSVCLSA-2026-1793661077 No score
TuxCare security update for nuxi (1 CVE)
TuxCare rebuilt nuxi to address 1 CVE. Fixed in 3.2.0-tuxcare.10.
- Record
CLSA-2026-1793661077- Updated
- 2026-11-03
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
nuxtnpm |
4.0.0 up to 4.5.1 | 4.5.1 |
nuxtnpm |
3.1.0 up to 3.21.10 | 3.21.10 |
nuxtTuxCare:npm From an advisory covering 11 CVEs |
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.12, plus listed versions 3.12.43.12.4-tuxcare.103.12.4-tuxcare.113.12.4-tuxcare.23.12.4-tuxcare.3 Show 6 moreShow less3.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.12 |
nuxtTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.24.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.54.0.3-tuxcare.6 |
4.0.3-tuxcare.7 |
@nuxt/kitTuxCare:npm From an advisory covering 11 CVEs |
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.12, plus listed versions 3.12.43.12.4-tuxcare.113.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.63.12.4-tuxcare.73.12.4-tuxcare.83.12.4-tuxcare.9 |
3.12.4-tuxcare.12 |
@nuxt/kitTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.5 |
4.0.3-tuxcare.7 |
@nuxt/rspack-builderTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.5 |
4.0.3-tuxcare.7 |
@nuxt/schemaTuxCare:npm From an advisory covering 11 CVEs |
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.12, plus listed versions 3.12.43.12.4-tuxcare.103.12.4-tuxcare.113.12.4-tuxcare.23.12.4-tuxcare.3 Show 4 moreShow less3.12.4-tuxcare.63.12.4-tuxcare.73.12.4-tuxcare.83.12.4-tuxcare.9 |
3.12.4-tuxcare.12 |
@nuxt/schemaTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.54.0.3-tuxcare.6 |
4.0.3-tuxcare.7 |
@nuxt/vite-builderTuxCare:npm From an advisory covering 11 CVEs |
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.12, plus listed versions 3.12.43.12.4-tuxcare.103.12.4-tuxcare.113.12.4-tuxcare.23.12.4-tuxcare.3 Show 4 moreShow less3.12.4-tuxcare.63.12.4-tuxcare.73.12.4-tuxcare.83.12.4-tuxcare.9 |
3.12.4-tuxcare.12 |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
@nuxt/vite-builderTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.54.0.3-tuxcare.6 |
4.0.3-tuxcare.7 |
@nuxt/webpack-builderTuxCare:npm From an advisory covering 11 CVEs |
3.12.4-tuxcare.0 up to 3.12.4-tuxcare.12, plus listed versions 3.12.43.12.4-tuxcare.113.12.4-tuxcare.23.12.4-tuxcare.33.12.4-tuxcare.4 Show 5 moreShow less3.12.4-tuxcare.53.12.4-tuxcare.63.12.4-tuxcare.73.12.4-tuxcare.83.12.4-tuxcare.9 |
3.12.4-tuxcare.12 |
@nuxt/webpack-builderTuxCare:npm From an advisory covering 7 CVEs |
4.0.3-tuxcare.0 up to 4.0.3-tuxcare.7, plus listed versions 4.0.34.0.3-tuxcare.14.0.3-tuxcare.34.0.3-tuxcare.44.0.3-tuxcare.5 |
4.0.3-tuxcare.7 |
nuxiTuxCare:npm |
3.2.0-tuxcare.0 up to 3.2.0-tuxcare.10, 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.73.2.0-tuxcare.83.2.0-tuxcare.9 |
3.2.0-tuxcare.10 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-71314 is a high vulnerability (CVSS 7.5) in @clerk Nuxt, published August 5, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.91%, the 60th percentile. Fixed in nuxt 4.5.1.
References
github.com/nuxt/nuxt/security/advisories/GHSA-hxcr-hm88-mpq6
github.com/nuxt/nuxt/commit/4e35ae9babd94be53246e31200232d48438bb34e
github.com/nuxt/nuxt/commit/668cdfdfda41849ed11c1ee5e2067a11fc103b22
github.com/nuxt/nuxt/releases/tag/v3.21.10
github.com/nuxt/nuxt/releases/tag/v4.5.1
github.com/advisories/GHSA-hxcr-hm88-mpq6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71314.json
nvd.nist.gov/vuln/detail/CVE-2026-71314
github.com/nuxt/nuxt