BitDefender修复可致攻击者远程运行命令的漏洞
字数 1242 2025-08-15 21:31:13

BitDefender Safepay 浏览器组件远程代码执行漏洞分析 (CVE-2020-8102)

漏洞概述

BitDefender Total Security 2020 的 Safepay 浏览器组件中存在一个输入验证错误漏洞,允许远程攻击者通过特殊构造的网页在 Safepay Utility 进程中执行任意命令。

受影响版本: Bitdefender Total Security 2020 24.0.20.116 之前的所有版本

漏洞背景

BitDefender 作为安全解决方案,其 Safepay 组件提供安全浏览环境,特别是用于网上银行等敏感操作。该组件实现了以下安全功能:

  1. 作为中间人(MitM)代理检查HTTPS连接
  2. 拦截无效或过期的SSL证书并提供自定义警告页面
  3. 提供虚拟浏览环境隔离银行网站

漏洞技术细节

核心问题

  1. URL显示不一致性:当出现无效证书时,浏览器地址栏中的URL保持不变,而实际上显示的是BitDefender的自定义错误页面

  2. 安全令牌共享:所有Safepay会话使用相同的硬编码安全令牌:

    • BDNDSS_B67EA559F21B487F861FDA8A44F01C50
    • BDNDCA_BBACF84D61A04F9AA66019A14B035478
  3. 同源策略绕过:攻击者可以构造恶意页面利用同源策略获取这些令牌

攻击步骤

  1. 攻击者设置一个本地Web服务器,初始提供有效SSL证书
  2. 用户访问该服务器时,服务器随后切换为无效证书
  3. 浏览器显示BitDefender的自定义错误页面,但URL保持不变
  4. 恶意页面通过AJAX请求下载SSL错误页面(同源策略允许此操作)
  5. 从错误页面中提取"我理解这些风险"链接的代码和硬编码安全令牌
  6. 使用这些令牌构造恶意请求,在受害者机器上执行任意命令

漏洞利用PoC

攻击者可以构造如下脚本执行远程代码:

// 使用获取的安全令牌构造请求
var xhr = new XMLHttpRequest();
xhr.open("POST", "bitdefender://safepay/", true);
xhr.setRequestHeader("BDNDSS", "B67EA559F21B487F861FDA8A44F01C50");
xhr.setRequestHeader("BDNDCA", "BBACF84D61A04F9AA66019A14B035478");

// 包含恶意payload的data URI
xhr.send("data:,<command>");

此payload可以执行系统命令,例如:

  • 运行whoami获取当前用户
  • 下载并执行远程可执行文件

漏洞影响

  1. 远程代码执行:攻击者可以在受害者机器上执行任意命令
  2. 银行会话劫持:可以入侵同一Safepay浏览器会话中的所有隔离银行网站
  3. 权限提升:在Safepay Utility进程上下文中执行代码

修复方案

BitDefender在版本24.0.20.116中修复了该漏洞,主要改进包括:

  1. 修改了安全令牌生成机制,不再使用硬编码值
  2. 加强了输入验证
  3. 改进了Safepay环境的隔离性

建议:所有用户应立即更新至24.0.20.116或更高版本

安全启示

  1. 安全产品本身可能成为攻击面,需要严格的安全审计
  2. 硬编码凭证或令牌是严重的安全隐患
  3. 浏览器安全机制(如同源策略)可能被绕过,需要额外防护
  4. 中间人代理实现需要特别注意安全边界

参考

  • CVE编号:CVE-2020-8102
  • 披露者:Wladimir Palant(AdBlock Plus原始开发者)
  • 原始报告:Bleeping Computer
BitDefender Safepay 浏览器组件远程代码执行漏洞分析 (CVE-2020-8102) 漏洞概述 BitDefender Total Security 2020 的 Safepay 浏览器组件中存在一个输入验证错误漏洞,允许远程攻击者通过特殊构造的网页在 Safepay Utility 进程中执行任意命令。 受影响版本 : Bitdefender Total Security 2020 24.0.20.116 之前的所有版本 漏洞背景 BitDefender 作为安全解决方案,其 Safepay 组件提供安全浏览环境,特别是用于网上银行等敏感操作。该组件实现了以下安全功能: 作为中间人(MitM)代理检查HTTPS连接 拦截无效或过期的SSL证书并提供自定义警告页面 提供虚拟浏览环境隔离银行网站 漏洞技术细节 核心问题 URL显示不一致性 :当出现无效证书时,浏览器地址栏中的URL保持不变,而实际上显示的是BitDefender的自定义错误页面 安全令牌共享 :所有Safepay会话使用相同的硬编码安全令牌: BDNDSS_B67EA559F21B487F861FDA8A44F01C50 BDNDCA_BBACF84D61A04F9AA66019A14B035478 同源策略绕过 :攻击者可以构造恶意页面利用同源策略获取这些令牌 攻击步骤 攻击者设置一个本地Web服务器,初始提供有效SSL证书 用户访问该服务器时,服务器随后切换为无效证书 浏览器显示BitDefender的自定义错误页面,但URL保持不变 恶意页面通过AJAX请求下载SSL错误页面(同源策略允许此操作) 从错误页面中提取"我理解这些风险"链接的代码和硬编码安全令牌 使用这些令牌构造恶意请求,在受害者机器上执行任意命令 漏洞利用PoC 攻击者可以构造如下脚本执行远程代码: 此payload可以执行系统命令,例如: 运行 whoami 获取当前用户 下载并执行远程可执行文件 漏洞影响 远程代码执行 :攻击者可以在受害者机器上执行任意命令 银行会话劫持 :可以入侵同一Safepay浏览器会话中的所有隔离银行网站 权限提升 :在Safepay Utility进程上下文中执行代码 修复方案 BitDefender在版本24.0.20.116中修复了该漏洞,主要改进包括: 修改了安全令牌生成机制,不再使用硬编码值 加强了输入验证 改进了Safepay环境的隔离性 建议 :所有用户应立即更新至24.0.20.116或更高版本 安全启示 安全产品本身可能成为攻击面,需要严格的安全审计 硬编码凭证或令牌是严重的安全隐患 浏览器安全机制(如同源策略)可能被绕过,需要额外防护 中间人代理实现需要特别注意安全边界 参考 CVE编号:CVE-2020-8102 披露者:Wladimir Palant(AdBlock Plus原始开发者) 原始报告:Bleeping Computer