作为全球用户数达到5亿的热门解压缩工具,winrar最近发现了一个严重的漏洞,建议用户立即升级到5.70 beta 1版本以避免被攻击者利用这一漏洞控制计算机。
近日,安全公司Check Point的研究员Nadav Grossman在一篇文章中揭示,WinRAR存在一个严重漏洞,允许攻击者完全控制受害者的计算机。这是一个存在了近19年的漏洞,促使WinRAR放弃了对易受攻击的ACE格式的支持。
整理 | 琥珀
出品 | AI科技大本营(ID:rgznai100)
此漏洞位于WinRAR的UNACEV2.dll代码库中,该库负责解析ACE格式。在解压过程中存在目录穿越漏洞,允许将文件写入启动文件夹,导致系统重启时执行代码。攻击者可以创建一个ACE恶意文件,当通过WinRAR打开时,利用UNACEV2.dll的目标路径,将文件解压到攻击者指定的路径。视频演示如下:
值得注意的是,此前Zerodium曾针对此类漏洞设立了漏洞悬赏计划。
研究人员在文章中详细描述了WinRAR代码执行漏洞的发现过程。几个月前,他们利用Winafl fuzz对Windows环境下的二进制文件进行了模糊测试。
以下是准备过程:
在WinRAR的注函数内创建hareness,使其能够模糊测试任何格式而无需为每种格式单独构建harness。移除用户交互的对话框等GUI元素。使用奥卢大学约2005年发布的大型语料库。在WinRAR命令行模式下使用WinAFL对程序进行模糊处理。通过上述操作,研究人员发现了RAR、LZH、ACE等压缩格式的崩溃,并在解析ACE格式时发现WinRAR使用名为unacev2.dll的dll来解析ACE格式文件。自2006年起,该dll没有保护机制。
在漏洞利用过程中,研究人员尝试将ACE恶意文件放置在启动文件夹中,以便在系统启动时执行。
示例:
研究人员将.ace扩展名更改为.rar扩展名,因为WinRAR会根据文件内容而非扩展名来测试格式。
下图为acefile的输出:
通过文件名字段中精心构造的字符串(绿色部分)触发漏洞
无论目标文件夹的路径是什么,该存档都将解压到C:\some_folder\some_file.txt
那么,真实的漏洞利用过程是怎样的?
研究人员表示,可以通过从ACE存档中提取压缩的可执行文件到启动文件夹,从而获得代码执行。
制作一个将压缩文件提取到启动文件夹的ACE存档,至少有两个启动文件夹路径:
第一个启动文件夹路径需要高权限/高完整性级别。然而,WinRAR默认以中等完整性级别运行。
第二个启动文件夹路径需要知道用户的名称。
研究人员向WinRAR报告了这个代码执行漏洞后,WinRAR官方回应称,目前的修复方法是从软件包中删除UNACEV2.dll,或者下载最新的5.70 Beta 1版本。
由于UNACEV2.dll自2005年以来未更新,且无法访问其源代码,因此对于使用此库压缩ACE格式的用户,官方表示只能放弃对其支持。
官网默认下载的5.61版本并非最新版本
WinRAR 5.70 Beta 1下载地址如下:
相关链接:
https://www.php.cn/link/f9148ba9f7fe304fd171caff200636ab
(*本文为AI科技大本营整理文章,转载请联系微信1092722531)
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号