安全实验室:WinRAR漏洞威胁预警

26 7 月, 2020 Categories: 新传

1 漏洞概况

近日,著名解压缩软件WinRar被披露存在一个长达19年历史的漏洞, 该漏洞位于unacev2.dll库. 攻击者可构造恶意ACE文档, 使其在解压时释放任意文件到部分目录(由于winrar默认运行在中等权限级别下, 故该漏洞无法释放文件在一些需要管理员权限才能修改的目录),赤豹安全实验室对该漏洞进行了详细分析。

2 漏洞介绍

威胁类型:目录穿越漏洞

威胁等级:

漏洞名称:

CVE-2018-20250

CVE-2018-20251

CVE-2018-20252

CVE-2018-20253

受影响系统及应用版本:

所有包含unacev2.dll的应用软件, 例如winrar, 2345好压, bandizip等.

补丁下载地址:直接删除库文件即可.

3 漏洞危害

当用户解压精心构造的ACE压缩文件时, 攻击者可在“C:Users<username>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup”目录下释放恶意EXE文件. 当用户再次启动计算机时, 恶意代码随之执行. 系统被完全控制.

4 漏洞分析

1. 通过使得GetDevicePathLen的返回值大于0, 实现以压缩包内相对路径作为解压目的完整路径, 无视用户指定的解压目的文件夹.

2. 要实现1, 那么相对路径的选择有以下两种:

3. 相对路径在被传入1之前, 会经过unacev2.dll中CleanPath函数的处理, 该函数会将选项1中开头的”C:”删除一次, 所以为了保持不变, 可以设置两个”C:”:

选项2不受此函数影响.

4. winrar主体代码中有回调函数会再检验上述相对路径. 在ace文件解压过程中, 该回调函数会被调用, 用来检测相对路径的合法性, 若相对路径以’’开头, 那么解压过程会被终止, 故选项2不可行. 所以最终, 采用选项1的方式触发目录穿越漏洞.

5 解决方案

建议使用”Everything”软件(32位或64 位), 全盘搜索”unacev2.dll”并删除该文件.

对winrar, 可下载最新版32位或64位, 新版已删除了此文件.

Everything使用说明:

根据系统版本, 选择64位或32位安装包,安装完毕后, 打开该软件, 并输入”unacev2.dll”, 可以得到:

全选并删除即可:

Tags: , ,
尚无评论.

留言回复