新闻中心

了解江民最新动态

WinRAR漏洞威胁预警

2019-02-22 来源:安全资讯

1 漏洞概况 近日,著名解压缩软件WinRar被披露存在一个长达19年历史的漏洞,该漏洞位于unacev2.dll库. 攻击者可构造恶意ACE文档,使其在解压时释放任意文件到部分目录(由于winrar默认运行在

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>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup”目录下释放恶意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”, 可以得到:

 
全选并删除即可:
更多推荐