Mozilla VPN客户端:通过文件写入和路径遍历实现远程代码执行
漏洞概述
报告发现Mozilla VPN客户端软件中存在路径遍历漏洞,可导致远程代码执行(RCE)。该漏洞存在于客户端检查器功能的"live_reload"命令中,当客户端启用开发者模式并开启"使用暂存服务器"时可被利用。
技术细节
漏洞位置
漏洞位于InspectorHotreloader::fetchAndAnnounce()
函数中,该函数在将远程文件下载到临时文件夹时未能正确清理文件路径。
漏洞代码分析
|
|
从代码片段可见,temp_path
只是简单地将预设目录与文件名拼接,未对路径进行安全检查。
复现步骤
-
下载Mozilla VPN客户端
-
启用开发者模式:
- 打开帮助菜单
- 快速点击"Help"标题6次
- 在开发者选项中勾选"Use Staging Servers"
- 完全关闭并重新打开客户端
-
使用恶意HTML文件:
|
|
影响分析
- 可覆盖任意文件导致RCE
- 通过有限用户交互(仅需打开攻击者网站)即可利用
- 仅影响Windows系统,macOS不受影响
- 攻击者可通过写入启动文件夹获得持久化访问权限
修复方案
Mozilla团队计划:
- 移除检查器中的HTTP热加载功能
- 添加与WebSocket通信的域名限制
- 已在2.26版本中修复
时间线
- 2025年2月15日:漏洞报告
- 2025年3月6日:确认修复方案并发放6000美元奖金
- 2025年5月13日:漏洞修复(版本2.26)
- 2025年7月29日:完全披露
严重程度:高(8.3)
赏金金额:$6,000
CVE ID:无