CVE-2025-14046CVE-2025-14046是GitHub Enterprise Server中的一个中危安全漏洞,CVSS评分6.1。该漏洞源于不正确的输入中和机制,允许攻击者通过精心构造的HTML内容注入DOM元素,这些元素的ID与服务器端初始化的数据岛(data islands)发生冲突。当用户访问包含恶意内容的页面时,攻击者可以覆盖或遮蔽关键的应用状态对象,从而在用户不知情的情况下触发服务器端POST请求或其他未授权的后端交互操作。成功利用此漏洞需要攻击者具有目标GitHub Enterprise Server实例的访问权限,并通过社会工程学手段诱使特权用户查看包含冲突HTML元素的恶意内容。该漏洞影响了GitHub Enterprise Server的多个版本,构成了客户端驱动的服务器端请求伪造(CSRF)风险。
该漏洞的核心问题在于GitHub Enterprise Server的前端JavaScript应用程序依赖DOM元素ID来访问和操作服务器端初始化的数据岛。攻击者利用HTML注入技术,在页面中注入具有特定ID的DOM元素,这些ID与服务器端创建的用于存储应用状态的数据岛ID相同。当浏览器的DOM解析器处理这些冲突的ID时,攻击者注入的DOM元素会覆盖或遮蔽服务器端的数据岛对象。攻击者通过精心设计HTML结构,可以控制被覆盖对象的属性值,从而影响JavaScript应用程序的行为逻辑。由于某些Project视图依赖这些被污染的状态对象进行后续操作,应用程序可能在用户不知情的情况下发起服务器端POST请求或执行其他未授权的backend交互。这种攻击利用了浏览器DOM的默认行为和应用程序对客户端数据的过度信任,属于一种特殊类型的DOM XSS变种。攻击者需要具备实例访问权限,并通过钓鱼或其他方式诱导特权用户访问恶意内容。