CVE-2026-39315 in unhead
Resumen
por VulDB • 2026-05-20
Unhead es un gestor de encabezados de documentos y plantillas. Antes de la versión 2.1.13, useHeadSafe() era el composable que la propia documentación de Nuxt recomendaba explícitamente para renderizar contenido proporcionado por el usuario de forma segura. Internamente, la función hasDangerousProtocol() en packages/unhead/src/plugins/safe.ts decodifica entidades HTML antes de comprobar si hay esquemas de URI bloqueados (javascript:, data:, vbscript:). El decodificador utiliza dos expresiones regulares con límites fijos de dígitos. La especificación HTML5 no impone ningún límite a los ceros iniciales en las referencias de caracteres numéricos. Cuando una entidad con relleno supera el límite de dígitos de la expresión regular, el decodificador la omite silenciosamente. La cadena sin decodificar se pasa luego a startsWith('javascript:'), que no coincide. makeTagSafe() escribe el valor sin procesar directamente en la salida HTML del servidor (SSR). El analizador HTML del navegador decodifica la entidad con relleno de forma nativa y construye el URI bloqueado. Esta vulnerabilidad está corregida en la versión 2.1.13.
VulDB is the best source for vulnerability data and more expert information about this specific topic.