CVE-2025-59414
Nuxt is an open-source web development framework for Vue.js. Prior to 3.19.0 and 4.1.0, A client-side path traversal vulnerability in Nuxt's Island payload revival mechanism allowed attackers to manipulate client-side requests to different endpoints within the same application domain when specific prerendering conditions are met. The vulnerability occurs in the client-side payload revival process (revive-payload.client.ts) where Nuxt Islands are automatically fetched when encountering serialized __nuxt_island objects.
Leer descripción completaMostrar menos
During prerendering, if an API endpoint returns user-controlled data containing a crafted __nuxt_island object, he data gets serialized with devalue.stringify and stored in the prerendered page. When a client navigates to the prerendered page, devalue.parse deserializes the payload. The Island reviver attempts to fetch /__nuxt_island/${key}.json where key could contain path traversal sequences. Update to Nuxt 3.19.0+ or 4.1.0+.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
- Puntuación base: 3.1
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.37%
- Percentil entre todas las CVEs puntuadas: 29
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-22
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2025-59414",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2025-59414",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2025-09-17T19:42:38.698134Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.1,
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 1.6
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 3.1,
"attackVector": "NETWORK",
"baseSeverity": "LOW",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N",
"integrityImpact": "NONE",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 1.4,
"exploitabilityScore": 1.6
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "nuxt",
"product": "nuxt",
"versions": [
{
"status": "affected",
"version": ">= 3.6.0 < 3.19.0"
},
{
"status": "affected",
"version": ">= 4.0.0 < 4.1.0"
}
]
}
]
}
],
"published": "2025-09-17T19:15:47.437",
"references": [
{
"url": "https://github.com/nuxt/nuxt/commit/2566d2046bccb158d98fb13e42ce4b2c33fb2595",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/nuxt/nuxt/security/advisories/GHSA-p6jq-8vc4-79f6",
"tags": [
"Exploit",
"Patch",
"Vendor Advisory"
],
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-22"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Nuxt is an open-source web development framework for Vue.js. Prior to 3.19.0 and 4.1.0, A client-side path traversal vulnerability in Nuxt's Island payload revival mechanism allowed attackers to manipulate client-side requests to different endpoints within the same application domain when specific prerendering conditions are met. The vulnerability occurs in the client-side payload revival process (revive-payload.client.ts) where Nuxt Islands are automatically fetched when encountering serialized __nuxt_island objects. During prerendering, if an API endpoint returns user-controlled data containing a crafted __nuxt_island object, he data gets serialized with devalue.stringify and stored in the prerendered page. When a client navigates to the prerendered page, devalue.parse deserializes the payload. The Island reviver attempts to fetch /__nuxt_island/${key}.json where key could contain path traversal sequences. Update to Nuxt 3.19.0+ or 4.1.0+."
},
{
"lang": "es",
"value": "Nuxt es un framework de desarrollo web de código abierto para Vue.js. Antes de las versiones 3.19.0 y 4.1.0, una vulnerabilidad de salto de ruta del lado del cliente en el mecanismo de reactivación de carga útil de Nuxt Island permitía a los atacantes manipular solicitudes del lado del cliente a diferentes puntos finales dentro del mismo dominio de aplicación cuando se cumplen condiciones específicas de prerrenderizado. La vulnerabilidad ocurre en el proceso de reactivación de carga útil del lado del cliente (revive-payload.client.ts) donde las Nuxt Islands se obtienen automáticamente al encontrar objetos __nuxt_island serializados. Durante el prerrenderizado, si un punto final de la API devuelve datos controlados por el usuario que contienen un objeto __nuxt_island manipulado, los datos se serializan con devalue.stringify y se almacenan en la página prerrenderizada. Cuando un cliente navega a la página prerrenderizada, devalue.parse deserializa la carga útil. El reactivador de Island intenta obtener /__nuxt_island/${key}.json donde key podría contener secuencias de salto de ruta. Actualice a Nuxt 3.19.0+ o 4.1.0+."
}
],
"lastModified": "2026-06-17T09:46:07.520",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "1A93E3D1-3CAE-47EF-A52F-E77C13FAA56E",
"versionEndExcluding": "3.19.0",
"versionStartIncluding": "3.6.0"
},
{
"criteria": "cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "48C5B681-0D99-46B1-A2FB-509870F61BD8",
"versionEndExcluding": "4.1.0",
"versionStartIncluding": "4.0.0"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}