Vulnerabilidad en Nuxt (CVE-2024-34343)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-79
Neutralización incorrecta de la entrada durante la generación de la página web (Cross-site Scripting)
Fecha de publicación:
05/08/2024
Última modificación:
19/09/2024
Descripción
Nuxt es un framework gratuito y de código abierto para crear sitios web y aplicaciones web completos con Vue.js. La función `navigateTo` intenta bloquear el protocolo `javascript:`, pero no utiliza correctamente las API proporcionadas por `unjs/ufo`. Esta biblioteca también contiene discrepancias en el análisis. La función primero prueba para ver si la URL especificada tiene un protocolo. Esto utiliza el paquete unjs/ufo para el análisis de URL. Esta función funciona de manera efectiva y devuelve verdadero para un protocolo javascript:. Después de esto, la URL se analiza utilizando la función parseURL. Esta función se negará a analizar URL mal formateadas. El análisis de javascript:alert(1) devuelve null/"" para todos los valores. A continuación, se verifica el protocolo de la URL utilizando la función isScriptProtocol. Esta función simplemente compara la entrada con una lista de protocolos y no realiza ningún análisis. La combinación de negarse a analizar URL mal formateadas y no realizar análisis adicionales significa que las comprobaciones de secuencias de comandos fallan porque no se puede encontrar ningún protocolo. Incluso si se identificó un protocolo, los espacios en blanco no se eliminan en la implementación de parseURL, evitando las comprobaciones de isScriptProtocol. Ciertos protocolos especiales se identifican en la parte superior de parseURL. Insertar una nueva línea o una pestaña en esta secuencia bloqueará la verificación del protocolo especial y omitirá las últimas comprobaciones. Esto SÓLO tiene impacto después de que se haya producido SSR, el protocolo `javascript:` dentro de un encabezado de ubicación no activa XSS. Este problema se solucionó en la versión 3.12.4 y se recomienda a todos los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad.
Impacto
Puntuación base 3.x
6.10
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:nuxt:nuxt:*:*:*:*:*:*:*:* | 3.12.4 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página