漏洞概要
关注数(24)
关注此漏洞
漏洞标题:优酷Android 4.5客户端升级漏洞
相关厂商:优酷
提交时间:2015-01-29 21:46
修复时间:2015-04-29 21:46
公开时间:2015-04-29 21:46
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:10
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2015-01-29: 细节已通知厂商并且等待厂商处理中
2015-01-29: 厂商已经确认,细节仅向厂商公开
2015-02-01: 细节向第三方安全合作伙伴开放
2015-03-25: 细节向核心白帽子及相关领域专家公开
2015-04-04: 细节向普通白帽子公开
2015-04-14: 细节向实习白帽子公开
2015-04-29: 细节向公众公开
简要描述:
优酷Android 4.5客户端组件暴露导致第三方应用可以触发其升级过程,同时可以指定升级下载的URL地址,可导致任意应用安装!
详细说明:
组件com.youku.service.push.StartActivityService声明如下:
可知该组件对外暴露。
该组件对应的代码执行部分如下:
该组件从Intent从获取名为PushMsg的Serializable的数据,并根据其成员type来执行不同的流程,当type值为1时,执行App的升级操作。升级所需的相关数据如app的下载地址等也是从该序列化数据中获取。升级的具体流程在com.youku.ui.activity.UpdateActivity中,简单分析后发现升级过程未对下载地址等进行判断,因此可以任意指定该地址。
漏洞证明:
该漏洞触发的关键在于对PushMsg数据的控制,基本思路如下:
1.创建一个Android App程序,在主Activity中的关键代码如下:
其中PushMsg类不需要完整实现,只需要编译通过即可;
2.反编译优酷客户端的App得到smali代码,从中提取出PushMsg.smali;
3.反编译上述创建的APK文件,将原PushMsg类的smali文件替换为优酷中的PushMsg.smali文件,重新打包签名;
4.安装并运行重打包后的APK,会看到优酷的升级页面触发,如果设计的好的话,是可以诱导用户安装攻击者指定的APK文件的。
修复方案:
组件不暴露、对升级地址进行判断、对下载的APK文件进行校验!
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:18
确认时间:2015-01-29 23:20
厂商回复:
多谢提醒,马上修复!
最新状态:
暂无
漏洞评价:
评论
-
2015-01-29 21:47 |
浩天 ( 普通白帽子 | Rank:915 漏洞数:79 | 度假中...)
-
2015-01-29 21:49 |
瘦蛟舞 ( 普通白帽子 | Rank:687 漏洞数:78 | 铁甲依然在)
-
2015-01-29 21:52 |
梧桐雨 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)
-
2015-01-29 21:56 |
瘦蛟舞 ( 普通白帽子 | Rank:687 漏洞数:78 | 铁甲依然在)
-
2015-01-29 23:33 |
MeirLin ( 实习白帽子 | Rank:96 漏洞数:30 | 号借人)
-
2015-02-03 14:01 |
内谁 ( 实习白帽子 | Rank:81 漏洞数:5 | 我是内谁)
@浩天 Android上的程序比PC更多,某输入法在前台已关闭的情况下,后台服务依然请求更新和上传IMEI信息,利用后,可直接下载运行……
-
2015-02-28 13:37 |
wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)
-
2015-05-01 09:05 |
2Sr ( 路人 | Rank:0 漏洞数:1 )