安全解决方案Bitdefender存在一个远程代码执行漏洞,该漏洞编号为CVE-2020-8102,存在于其Safepay浏览器组件中。
Bitdefender在安全公告中表示,“Bitdefender Total Security 2020的Safepay浏览器组件中存在一个输入验证错误漏洞。远程攻击者可借助特殊构造的网页利用该漏洞在Safepay Utility进程中运行命令。该漏洞影响Bitdefender Total Security 2020 24.0.20.116之前版本。”
安全博主、AdBlock Plus扩展最初的开发人员Wladimir Palant披露Bitdefender保护用户不受无效证书影响的功能中存在一个安全漏洞。
作为整个系统安全解决方案的一部分,BitDefender充当一个中间人(MitM)代理来检查安全的HTTPS连接。
通常,几乎所有的防病毒厂商都使用这种行为,该行为通常被称为安全搜索、Web保护、Web访问保护等。
大多数浏览器,当出现无效或过期的SSL证书时,会把选择权转给用户,让用户接受含有警告的证书或导航离开。Bitdefender为用户提供了类似的浏览体验,并提供了一个自定义的网页,如下所示。
Bitdefender页面中无效的证书警告
源:Palant
如果用户选择忽略HSTS警告并自己承担风险继续进行,这通常不是问题。
正如Palant所指出的,有趣的是网页浏览器地址栏中的URL本身保持不变。这会使应用程序在潜在恶意页面和托管在同一服务器上的任何其他网站之间共享安全令牌,并在BitDefender的Safepay虚拟浏览环境中运行。
“浏览器地址栏中的URL不会改变。就浏览器而言,这个错误页面起源于Web服务器,没有理由让来自同一服务器的其他网页无法访问它。无论什么安全令牌包含在其中,网站都可以读出它们——这是我们以前在卡巴斯基产品中看到的一个问题。”Palant在他的报告中说。
Palant通过一个PoC演示了这种行为,在该PoC中,他让一个本地运行的Web服务器,在第一个请求上出现一个有效的SSL证书,但在之后切换到一个无效的证书。
切换证书后,发出AJAX请求来下载SSL错误页面。任何Web浏览器中的同源策略自然会允许这个请求,如果它觉得该同源得到保持的话。
“这允许在浏览器中加载恶意页面,然后切换到无效证书,并使用XMLHttp Request下载由此产生的错误页面。这是一个同源请求,浏览器不会阻止你。在该页面中,你会获得“我理解这些风险”链接的代码,”Palant解释道。
BitDefender将标头注入银行站点
源:Palant
BitDefender,和其他防病毒产品一样,在会话过程中发出AJAX请求时使用一组安全令牌。然而,这些值是硬编码的,在应该改变的时候不会改变。
此外,该组件的Safe Search和Safe Banking功能没有实现任何另外的保护,“事实证明,所有功能使用相同的BDNDSS_B67EA559F21B487F861FDA8A44F01C50和BDNDCA_BBACF84D61A04F9AA66019A14B035478值,但除此之外,Safe Search和Safe Banking没有实现任何额外的保护。”
在实践中,这意味着可以查看这些值的攻击者,例如,如果用户在BitDefender运行时访问其恶意站点,则可以入侵运行在BitDefender的同一Safepay浏览器会话中的所有其他‘被隔离的’银行网站。
更糟糕的是,攻击者的恶意页面可以使用这些相同的安全令牌发起AJAX请求,从而在受害者的计算机上执行任意代码。
执行RCE攻击的脚本
源:Palant
该请求包含在SafepaySafe Banking会话过程中使用的相同令牌,另外还包括作为“data:”URI的payload。一旦被处理,该payload就会在运行“whoami”命令的受害者机器上启动命令提示,例如:
下载和执行远程可执行文件
源:Palant
虽然BitDefender为受影响的用户发布了补丁,但像这样的漏洞提醒人们,尽管有最好的意图,例如提供一个安全的浏览环境,但可能会出现错误。
BitDefender推出了一个自动更新,在24.0.20.116及之后版本中修复了该漏洞。
本文源自Bleeping Computer;转载请注明出处。