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

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

缺陷编号:wooyun-2015-0117890

漏洞标题:微信某功能存在漏洞可导致严重的客户端拒绝服务攻击

相关厂商:腾讯

漏洞作者: procen424

提交时间:2015-06-03 10:36

修复时间:2015-09-02 14:28

公开时间:2015-09-02 14:28

漏洞类型:拒绝服务

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

微信某功能的设计缺陷(不是 iOS 特殊字符攻击)可使好友的客户端崩溃退出、朋友圈彻底瘫痪锁死无法正常使用,并存在进一步利用的可能。
Android、iOS 平台均受此漏洞影响,尤以 Android 为重。

详细说明:

利用小视频暂存功能上传畸形文件,好友的客户端在解析视频时发生错误崩溃退出。由于小视频自动播放选项默认打开,因此本攻击会产生非常大的危害。
I. 上传任意视频文件
1. 拍摄一段小视频并暂存。
2. 准备要发送的文件,格式转换为 x264 + AAC,封装容器为 MP4,分辨率、长度及其它编码参数没有限制,但文件大小不得超过 1 MB。
3. 导出视频的第 1 帧,作为封面图片。(此步可选)
4. 在 存储卡/tencent/MicroMsg/<id>/draft/ 目录下找到刚刚暂存的小视频,用第 2 步制作的文件替换暂存视频本体,用第 3 步制作的文件替换 thumb。
5. 在朋友圈发送暂存的小视频,可以看到其内容已被替换为第 2 步中的文件。
II. 发送畸形小视频,使好友的朋友圈无法正常阅读
1. 制作一张高度远远大于宽度的图片。(演示中为 2 x 30000 像素)
2. 将图片作为静帧,按 I-2 中的要求生成视频。
3. 使用 I 中的方法发送到朋友圈。
4. 在好友打开他们自己的朋友圈之后,将无法阅读这条消息之下的内容。
III. 发送畸形小视频,使好友的朋友圈崩溃锁死
1. 制作一张宽度远远大于高度的图片。(演示中为 30000 x 2 像素)
2. 将图片作为静帧,按 I-2 中的要求生成视频。
3. 使用 I 中的方法发送到朋友圈。此时在 Android 客户端下会遇到发送界面闪退的问题,可以快速点击两次暂存小视频的预览图,待右上方出现发送按钮时再迅速连续点击,即可成功。
4. 在好友打开他们自己的朋友圈之后,一旦本视频完成加载,立即崩溃退出,整个过程只有 1 到 5 秒,无法做任何操作。除非屏蔽好友并清除缓存,否则永远无法使用朋友圈。(iOS 平台部分版本不受影响)
IV. 转发小视频,使好友的会话界面崩溃锁死
1. 将 II 中上传的视频转发给好友。
2. 当对方点击消息通知或从微信主界面进入会话后立即崩溃退出,双方无法发送任何信息,除非删除当前会话后重建。(iOS 平台部分版本不受影响)
3. 若将小视频转发至群中,则所有人都会崩溃退出。
如果向对方发送精心构造的畸形视频文件,存在进一步利用漏洞达到更高级别危害的可能。
如需索取测试文件请联系 wechat_bug # 163 . com

漏洞证明:

已在不同设备/版本上进行测试,均可复现。
演示中的设备为 Nexus 5,微信版本:6.2,系统版本:Android 5.1。
演示I http://v.youku.com/v_show/id_XMTI1MzY0NjI4OA==.html
演示II http://v.youku.com/v_show/id_XMTI1MzY0Njg1Ng==.html
演示III http://v.youku.com/v_show/id_XMTI1MzY0NzEyNA==.html
演示III-好友看到的效果 http://v.youku.com/v_show/id_XMTI1MzY0NzUyMA==.html
演示IV http://v.youku.com/v_show/id_XMTI1MzY0Nzc3Mg==.html
备用链接 http://pan.baidu.com/s/1kTj9FQB

修复方案:

1. 服务器端对上传的小视频进行检查,拒绝畸形文件。
2. 优化小视频缩放逻辑。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-06-04 14:28

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-04 14:30 | milan ( 普通白帽子 | Rank:129 漏洞数:32 | 妈妈说:搬不完砖就别回家。)

    谁的小号

  2. 2015-06-04 14:41 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    居然15分

  3. 2015-06-04 14:52 | ca1n ( 普通白帽子 | Rank:100 漏洞数:22 | not yet)

    ...又来

  4. 2015-06-04 15:03 | qhwlpg ( 普通白帽子 | Rank:226 漏洞数:54 | 潜心代码审计。)

    额,看分数感觉直接发字符打挂的么。。。

  5. 2015-06-04 16:41 | 我能拒绝么 ( 路人 | Rank:10 漏洞数:3 | 疯爆志林)

    屌屌的啊

  6. 2015-06-04 16:53 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @xsser 很好奇一般拒绝服务是怎么测试的,这种目测有通用奖励额

  7. 2015-06-04 17:47 | 鸟云厂商 认证白帽子 ( 核心白帽子 | Rank:1313 漏洞数:146 | 中国菜鸟)

    @px1624 ¥2000

  8. 2015-06-04 17:57 | 这只猪 ( 路人 | Rank:5 漏洞数:2 | 南无阿弥陀佛!)

    碉堡了

  9. 2015-06-04 19:13 | J0kER ( 实习白帽子 | Rank:56 漏洞数:13 | 上海--求职)

    关注

  10. 2015-06-04 21:34 | Q1NG ( 实习白帽子 | Rank:93 漏洞数:16 | 临 兵 斗 者 皆 阵 列 前 行 !)

    碉堡了!

  11. 2015-06-04 22:55 | 斋家奇神 ( 路人 | Rank:2 漏洞数:1 | ?)

    路过

  12. 2015-06-04 22:58 | range ( 普通白帽子 | Rank:153 漏洞数:32 | 这个人有点懒,没有写个人简介)

    我说我微信咋挂了!原来是酱紫,CCAV往这拍!

  13. 2015-06-04 23:53 | JGHOOluwa ( 普通白帽子 | Rank:206 漏洞数:32 | 就是来看看大牛们如何超神的^-^)

    我说我前天怎么微信挂了呢!

  14. 2015-06-04 23:56 | Drizzle.Risk ( 普通白帽子 | Rank:255 漏洞数:19 | You have an error in your SQL syntax; ch...)

    第一感觉像畸形数据,但又是跨平台漏洞,难道是畸形数据导致服务端返回某种诡谲的错误?

  15. 2015-06-05 09:01 | 波总z ( 路人 | Rank:0 漏洞数:2 | 本人学计算机网络这方面的,很高兴加入到你...)

    膜拜

  16. 2015-06-09 23:38 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    膜拜 为啥没闪电 @疯狗佩服楼主的手段

  17. 2015-09-02 15:03 | 老实先生 ( 路人 | Rank:7 漏洞数:4 | 早日告别路人状态)

    跟随CCAV

  18. 2015-09-02 16:21 | Hckmaple ( 实习白帽子 | Rank:38 漏洞数:14 | ~~~)

    思路好牛逼

  19. 2015-09-02 16:51 | 哎呦我去 ( 路人 | Rank:2 漏洞数:3 | 新手白帽子!!继续努力)

    洞主思路真牛逼