WinRAR代码执行漏洞CVE-2018-20250

本文详细分析了WinRAR中一个允许文件被提取到任意路径的路径遍历漏洞,该漏洞涉及对unacev2.dll的不当处理,可导致攻击者通过特制的ACE文件绕过目的文件夹限制,实现代码执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0x01 分析思路

  • 利用https://github.com/googleprojectzero/winafl 漏洞分析框架模糊测试WinRAR。
  • 几个存档格式的崩溃,例如RAR,LZH和ACE,这些存档格式会导致内存损坏,例如Out-of-Bounds Write
  • 发现WinRAR使用名为unacev2.dll的DLL来解析ACE归档文件。快速浏览一下这个dll就会发现它是2006年没有保护机制的旧版dll
  • 了解ACE格式

0x02 漏洞细节

漏洞允许提取文件到任意路径并完全忽略目的文件夹,并将提取的文件相对路径作为完全路径。

导致路径遍历漏洞有两个限制:

1. 第一个字符是‘/’、 ‘\’;

2. ‘*’ 至少应该包含在文件名中一次。位置没有关系。

WinRAR部分存在路径遍历漏洞:

从WinRAR回调函数(ACE_CALLBACK_RETURN_CANCEL)获取中止代码(abort code)后,unacev2.dll并不中止操作。因为对WinRAR回调的返回代码的延迟检查,创建了漏洞利用文件中指定的目录。

提取的文件也会创建在漏洞利用文件指定的完全路径。

0x03 利用方式

https://github.com/WyAtu/CVE-2018-20250

549050-20190326231920099-1437234453.png

0x04 效果

桌面上解压或者是右键解压就会复现效果

0x05 相关样本IOC

ModifiedVersion3.rar

6c702c25ec425764a303418b2d3f99ae

0x06 参考

https://blog.youkuaiyun.com/liqiuman180688/article/details/88052788

https://blog.youkuaiyun.com/chen_yi_ang/article/details/88395823

https://research.checkpoint.com/extracting-code-execution-from-winrar/

成功获取WinRAR 19年历史代码执行漏洞

https://www.anquanke.com/post/id/171403

转载于:https://www.cnblogs.com/17bdw/p/10416145.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值