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

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

缺陷编号:wooyun-2013-027350

漏洞标题:百度影音amv格式堆破坏漏洞

相关厂商:百度

漏洞作者: dragonltx

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

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

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

漏洞类型:拒绝服务

危害等级:中

自评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:1

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

厂商回复:

我们已从其他渠道获知该漏洞,感谢您的提交!

最新状态:

暂无