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

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

缺陷编号:wooyun-2014-089475

漏洞标题:百度卫士拒绝服务系列之二

相关厂商:百度

漏洞作者: 路人甲

提交时间:2014-12-31 12:17

修复时间:2015-03-31 12:18

公开时间:2015-03-31 12:18

漏洞类型:拒绝服务

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

再来一个,还是转型异常

详细说明:

问题代码片段:
$r5 = (cn.com.opda.android.sevenkey.WidgetConfig) $r4,<cn.com.opda.android.sevenkey.SevenKeyWidget: void a(android.content.Context,android.content.Intent)>
问题java代码

private void a(Context arg8, Intent arg9) {
int i3;
int i = 3;
int i1 = 2;
int i2 = -1;
String string = arg9.getAction();
if(string != null) {
if(string.equals("com.dianxinos.optimizer.action.SW_TOGGLE")) {
Parcelable parcelable = arg9.getParcelableExtra("widget_config");
i = arg9.getIntExtra("switch_id", i2);
Object object = SevenKeyWidget.a.get(i);
Rect rect = arg9.getSourceBounds();
if(object == null) {
return;
}
else if(parcelable != null) {
SevenKeyWidget.a(arg8, ((kf)object), ((WidgetConfig)parcelable), i, rect);//crash


漏洞证明:

E/AndroidRuntime( 7358): FATAL EXCEPTION: main
E/AndroidRuntime( 7358): java.lang.RuntimeException: Unable to start receiver cn.com.opda.android.sevenkey.SevenKeyWidget: java.lang.ClassCastException: android.app.ActivityManager$RecentTaskInfo cannot be cast to cn.com.opda.android.sevenkey.WidgetConfig
E/AndroidRuntime( 7358): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2591)
E/AndroidRuntime( 7358): at android.app.ActivityThread.access$1500(ActivityThread.java:171)
E/AndroidRuntime( 7358): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1469)
E/AndroidRuntime( 7358): at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime( 7358): at android.os.Looper.loop(Looper.java:194)
E/AndroidRuntime( 7358): at android.app.ActivityThread.main(ActivityThread.java:5468)
E/AndroidRuntime( 7358): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 7358): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 7358): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:936)
E/AndroidRuntime( 7358): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
E/AndroidRuntime( 7358): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 7358): Caused by: java.lang.ClassCastException: android.app.ActivityManager$RecentTaskInfo cannot be cast to cn.com.opda.android.sevenkey.WidgetConfig
E/AndroidRuntime( 7358): at cn.com.opda.android.sevenkey.SevenKeyWidget.a(SevenKeyWidget.java:233)
E/AndroidRuntime( 7358): at cn.com.opda.android.sevenkey.SevenKeyWidget.onReceive(SevenKeyWidget.java:202)
E/AndroidRuntime( 7358): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2584)
E/AndroidRuntime( 7358): ... 10 more


crash2.jpg

修复方案:

类型检查~

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-12-31 16:22

厂商回复:

感谢提交,已通知业务部门处理

最新状态:

暂无