CVE-2025-64745CVE-2025-64745是Astro web框架中的一个反射型跨站脚本(XSS)漏洞。该漏洞影响Astro 5.2.0至5.15.5版本,当开发服务器启用trailingSlash配置选项时,错误页面会存在XSS风险。攻击者可以通过精心构造包含恶意JavaScript代码的URL,当受害者访问该URL时,恶意脚本会在其浏览器上下文中执行。虽然此漏洞仅影响开发服务器而不会影响生产构建,但攻击者仍可利用此漏洞通过社会工程学手段或恶意链接来攻击开发人员的本地环境,窃取敏感信息或执行未授权操作。漏洞已于Astro 5.15.6版本中修复,建议所有使用受影响版本的用户尽快升级。
该漏洞根源于Astro开发服务器错误页面模板中对用户输入的处理不当。当Astro配置中启用trailingSlash选项时,服务器会将URL路径中的某些参数未经过滤直接反射到错误页面HTML中。攻击者可以在URL中注入恶意JavaScript代码(如<script>alert(document.cookie)</script>),由于服务器未对输出内容进行适当的HTML编码或转义处理,导致注入的脚本被浏览器解析执行。此漏洞的技术细节位于Astro源码packages/astro/src/template/4xx.ts文件的第133-149行。攻击成功的关键条件包括:目标用户需使用受影响的Astro版本、开发者服务器必须启用trailingSlash配置、攻击者需诱导用户访问特制的恶意链接。由于漏洞位于开发服务器的错误页面,生产环境默认不受影响,但仍建议升级以确保开发环境安全。