Gartner Peer Insights小工具DOM XSS漏洞修复分析

安全研究人员发现Gartner Peer Insights小工具存在DOM型跨站脚本漏洞,攻击者可利用恶意网站注入任意JavaScript代码。文章详细分析了漏洞原理、利用方式及修复过程,涉及postMessage消息验证绕过和innerHTML安全风险。

DOM XSS漏洞在Gartner Peer Insights小工具中完成修复

Charlie Osborne

2023年2月8日 13:42 UTC
更新: 2023年2月20日 12:31 UTC

漏洞类型: 研究、XSS

在最初修复尝试失败后,这一网络攻击向量已被关闭。Gartner已修复了在Peer Insights小工具中发现的一个DOM XSS漏洞,研究人员认为这一安全缺陷可追溯至该软件的原始开发阶段。

软件安全研究员Justin Steven在一篇技术分析报告中指出,当网站嵌入该小工具时,“许多网站"都面临基于DOM的跨站脚本(XSS)攻击风险。

Gartner Peer Insights小工具是一种营销工具,被描述为"对特定市场中供应商在Gartner Peer Insights上的评价和评分进行实时汇总展示”。行业供应商被邀请将其嵌入网站,以增加市场"可信度并推动转化"。

当网站使用Gartner小工具时,它会从gartner.com加载widget.js,然后为postMessage消息创建事件监听器,随后创建一个用于显示小工具的div元素。

一个指向Gartner.com域的隐藏iframe会从gartner.com请求特定页面,该页面将向父页面发送postMessage消息。这些消息数据将通过名为innerHTML的函数用于构建HTML内容,并填充到小工具的内容div中。

子字符串验证漏洞

验证机制通过检查发送网站来源中是否包含"gartner.com"字符串来实现。然而,攻击者可以从https://gartner.com.attacker.com等网站发起攻击,这仍然满足子字符串条件,从而绕过验证。

此外,研究人员将innerHTML描述为DOM XSS的"接收器",因为多个XSS触发器在注入时会激活。例如,如果受害者访问恶意网站,可通过window.postMessage()推送精心构造的消息。

“这种精心构造的消息可以注入活动内容,在网站上下文中执行任意JavaScript代码,“Steven表示。“这可能允许恶意网站破坏受害者网站上下文中用户数据的机密性和完整性,并显示任意有害内容,如钓鱼表单。”

该攻击不需要向受害者网站或gartner.com发送流量。相反,这是一种在浏览器窗口内发生的客户端攻击。

概念验证(PoC)代码、漏洞利用测试页面以及演示该漏洞的YouTube视频现已公开。此前受影响的网站包括Black Kite、Gradle、LogRhythm、SentinelOne、Synopsys、Veeam和Vodafone等。

Steven分析了2022年的代码,但在检查了小工具的存档版本后表示:“该问题似乎从最初开发时就存在DOM XSS漏洞。”

多次修补过程

Gartner于2022年11月4日收到问题通知。四天后,该分析公司确认了报告,并询问研究人员是否愿意通过HackerOne上的私人漏洞赏金计划提交该问题。

战术性修复于12月19日发布,随后在1月进行了"完全修复”。然而,Steven提供的证据表明这些初始修补可以被绕过。因此,在1月26日和2月2日发布了新的修复程序来解决DOM XSS问题。

Steven表示希望将其研究作为公共咨询发布。但Gartner表示,如果研究"在HackerOne计划之外公开披露”,将不会提供漏洞赏金,因此研究人员拒绝了赏金提议,导致该研究于2月3日公开披露。

安全建议

Steven在接受The Daily Swig采访时表示,组织应考虑频繁对第三方前端JavaScript代码进行安全审查,包括小工具、分析代码、跟踪器、广告、客户支持聊天和其他功能。或者,他们应该寻求关于供应商安全流程的保证。

无论如何,根据Steven的说法,在实施新的前端功能时,应考虑现有代码的完整性和风险因素。

The Daily Swig已联系Gartner,如果我们收到回复,将更新此报道。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计