All vulnerabilities

Servers and applications

CVE-2026-128076

Colliding island props can share one `/__nuxt_island` path (incomplete fix for CVE-2026-46342)

Severity
Low 3.1
Published
2 Nov 2026
Last changed
13 Nov 2026
Added to UpHeron
13 Nov 2026
Fixed in
4.0.0, 4.6.4
Weakness
Improper output encoding (CWE-116)CWE-349
Attack
Over the network · Only under certain conditions · No login needed · Needs someone to click or open something
Attacker can
Change some data
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
Also known as
GHSA-hf59-9xwc-2g4p
Sources
CVE Program, Project advisories (GitHub)

Description

The fix for CVE-2026-46342 (GHSA-g8wj-3cr3-6w7v) binds each /__nuxt_island/_.json path to its props by hashing the (name, props, context, source) tuple. That hash was computed over ohash's serialization, which does not escape quotes inside strings or delimiters inside keys, so two different prop objects can produce the same hash. A request with crafted props can therefore pass validation for another island's path and render different content at that path.

For example, these two prop objects serialize identically and share one island path:

This reopens the scenarios described in GHSA-g8wj-3cr3-6w7v:

  • nuxt generate / prerendering. Nuxt caches prerendered island responses by path. If the crawler reaches a link to the colliding URL (for example in user-submitted content included in the build) before it renders the page that uses the legitimate props, the colliding response is written into the generated page.
  • Path-keyed shared caches.
From nuxt/nuxt's security advisory. Shortened; the full text is there.

Workarounds

  • Ensure any intermediary cache keys /__nuxt_island/* on the full query string, not on the path alone.
  • Treat island props as untrusted input and do not pass them to v-html or other HTML sinks without sanitisation.
  • When prerendering, avoid including user-submitted links to /__nuxt_island/ in crawled pages, for example by excluding that prefix with nitro.prerender.ignore:
Workarounds as given by nuxt/nuxt's security advisory.

Affected software

SoftwareAffected versions
NuxtServers and applications · cna:nuxt|nuxt
  • From 3.21.6 before 4.0.0
  • From 4.4.6 before 4.6.4
NuxtServers and applications · github:nuxt/nuxt
  • From 3.21.6 before 4.0.0
  • From 4.4.6 before 4.6.4

References