126 lines
5.6 KiB
JSON
126 lines
5.6 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-128076",
|
|
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "GitHub_M",
|
|
"dateReserved": "2026-11-12T21:24:51.130Z",
|
|
"datePublished": "2026-11-13T17:38:34.081Z",
|
|
"dateUpdated": "2026-11-13T17:38:34.081Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"title": "Nuxt: Colliding island props can share one `/__nuxt_island` path (incomplete fix for CVE-2026-46342)",
|
|
"problemTypes": [
|
|
{
|
|
"descriptions": [
|
|
{
|
|
"cweId": "CWE-116",
|
|
"lang": "en",
|
|
"description": "CWE-116: Improper Encoding or Escaping of Output",
|
|
"type": "CWE"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"descriptions": [
|
|
{
|
|
"cweId": "CWE-349",
|
|
"lang": "en",
|
|
"description": "CWE-349: Acceptance of Extraneous Untrusted Data With Trusted Data",
|
|
"type": "CWE"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"attackComplexity": "HIGH",
|
|
"attackVector": "NETWORK",
|
|
"availabilityImpact": "NONE",
|
|
"baseScore": 3.1,
|
|
"baseSeverity": "LOW",
|
|
"confidentialityImpact": "NONE",
|
|
"integrityImpact": "LOW",
|
|
"privilegesRequired": "NONE",
|
|
"scope": "UNCHANGED",
|
|
"userInteraction": "REQUIRED",
|
|
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N",
|
|
"version": "3.1"
|
|
}
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"name": "https://github.com/nuxt/nuxt/security/advisories/GHSA-hf59-9xwc-2g4p",
|
|
"tags": [
|
|
"x_refsource_CONFIRM"
|
|
],
|
|
"url": "https://github.com/nuxt/nuxt/security/advisories/GHSA-hf59-9xwc-2g4p"
|
|
},
|
|
{
|
|
"name": "https://github.com/nuxt/nuxt/commit/6f1b93c643355688bc9e2d7434723f7fd3f25092",
|
|
"tags": [
|
|
"x_refsource_MISC"
|
|
],
|
|
"url": "https://github.com/nuxt/nuxt/commit/6f1b93c643355688bc9e2d7434723f7fd3f25092"
|
|
},
|
|
{
|
|
"name": "https://github.com/nuxt/nuxt/releases/tag/v4.6.4",
|
|
"tags": [
|
|
"x_refsource_MISC"
|
|
],
|
|
"url": "https://github.com/nuxt/nuxt/releases/tag/v4.6.4"
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"vendor": "nuxt",
|
|
"product": "nuxt",
|
|
"versions": [
|
|
{
|
|
"version": ">= 3.21.6, < 4.0.0",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": ">= 4.4.6, < 4.6.4",
|
|
"status": "affected"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"vendor": "@nuxt",
|
|
"product": "nitro-server",
|
|
"versions": [
|
|
{
|
|
"version": ">= 3.21.6, < 4.0.0",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": ">= 4.4.6, < 4.6.4",
|
|
"status": "affected"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"providerMetadata": {
|
|
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
|
|
"shortName": "GitHub_M",
|
|
"dateUpdated": "2026-11-13T17:38:34.081Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "Nuxt is an open-source web development framework for Vue.js. From 3.21.6 to before 4.0.0 and from 4.4.6 until 4.6.4, the /__nuxt_island path hash uses ohash serialization that does not escape quotes in string values or delimiters in object keys, allowing different island-prop tuples to produce the same path. For prerendering, substituted content is written into the generated page only if the crawler reaches a colliding URL before rendering the page with the legitimate props. Separately, a CDN or reverse proxy that keys island responses by path alone can be primed with the colliding response. If the substituted prop reaches v-html, innerHTML, or another unsafe HTML sink, the response can execute script in the application origin; otherwise the impact is content substitution. Applications that do not use server components or NuxtIsland, islands without attacker-influenced string props, and responses not cached by path alone are unaffected. This issue is fixed in version 4.6.4."
|
|
}
|
|
],
|
|
"source": {
|
|
"advisory": "GHSA-hf59-9xwc-2g4p",
|
|
"discovery": "UNKNOWN"
|
|
}
|
|
}
|
|
}
|
|
} |