CVE-2026-41067Astro Web框架在6.1.6之前的版本中存在跨站脚本(XSS)漏洞。`defineScriptVars`函数使用大小写敏感的正则清理输入,而HTML解析器对`</script>`标签的解析是大小写不敏感的。攻击者可利用`</Script>`等变体绕过过滤,注入任意HTML或JavaScript代码。
该漏洞位于Astro服务端渲染的`defineScriptVars`函数中。该函数利用正则`/</script>/g`试图移除危险的脚本闭合标签。然而,HTML解析器在处理标签时忽略大小写,且允许闭合标签`>`前存在空格或斜杠。因此,攻击者构造如`</Script>`、`</script >`或`</script/>`的payload,即可绕过正则匹配。当这些payload通过`define:vars`指令注入到内联脚本时,浏览器会将其解析为标签闭合,导致攻击者能够逃逸脚本上下文并执行任意恶意代码,实现存储型或反射型XSS攻击。