当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-027351

漏洞标题:迅雷看看amv格式堆破坏漏洞

相关厂商:迅雷

漏洞作者: dragonltx

提交时间:2013-07-01 16:21

修复时间:2013-09-29 16:21

公开时间:2013-09-29 16:21

漏洞类型:拒绝服务

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-07-01: 细节已通知厂商并且等待厂商处理中
2013-07-01: 厂商已经确认,细节仅向厂商公开
2013-07-04: 细节向第三方安全合作伙伴开放
2013-08-25: 细节向核心白帽子及相关领域专家公开
2013-09-04: 细节向普通白帽子公开
2013-09-14: 细节向实习白帽子公开
2013-09-29: 细节向公众公开

简要描述:

当传入畸形的dwWidth参数,vsfilter.dll未进行正确的处理,导致堆破坏

详细说明:

图片8.png


漏洞分析:

图片4.png


当传入畸形的dwWidth参数时,CreateDIBSection函数执行失败,返回NULL。然后通过GetObjectW函数获取strucBitMapInfo结构体,由于hBitmap为空,导致函数执行失败,strucBitMapInfo为空。strucBitMapInfo原型如下:

图片5.png


由于没对GetObjectW函数返回值进行校验,直接执行Crash函数。由于声明strucBitMapInfo变量的时候未进行初始化,导致strucBitMapInfo结构的各个成员值为上个函数栈帧上的值。经调试hHight一直为-1,而field_C为一个大地址,相乘之后为负数,

图片6.png


而Crash函数的参数都是无符号整形,导致nSize为一个超大整数,最终导致下面的堆破坏。

图片7.png

漏洞证明:

POC:

http://vdisk.weibo.com/s/I6dY5

修复方案:

对dwWidth参数进行过滤

版权声明:转载请注明来源 dragonltx@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-07-01 22:17

厂商回复:

感谢反馈,下午已经解决了,将在发布APlayer 3.4.0.636 修正这个问题,目前已经着手机全网升级,感谢您的支持

最新状态:

暂无