su提权广播劫持导致拒绝服务攻击

漏洞概要

缺陷编号:WooYun-2013-019422

漏洞标题:su提权广播劫持导致拒绝服务攻击

相关厂商:CyanogenMod

漏洞作者:milkee

提交时间:2013-03-05 15:02

公开时间:2013-04-17 15:02

漏洞类型:拒绝服务

危害等级:低

自评Rank:3

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

Tags标签:

漏洞详情

披露状态:

2013-03-05: 细节已通知厂商并且等待厂商处理中
2013-03-07: 厂商已经确认,细节仅向厂商公开
2013-03-10: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2013-05-01: 细节向核心白帽子及相关领域专家公开
2013-05-11: 细节向普通白帽子公开
2013-05-21: 细节向实习白帽子公开
2013-04-17: 细节向公众公开

简要描述:

CyanogenMod 10.x使用的su的提权请求可以被劫持,导致正常的提权请求无法被响应,app提权失败。虽然写的厂商是CyanogenMod,但是这个版本的su还可能被许多其他ROM使用。

详细说明:

开源的代码,分析起来很方便哈。1. su直接使用am命令发送提权请求广播给superuser(root授权管理软件),代码见https://**.**.**.**/CyanogenMod/android_system_su/blob/ics/activity.c

这个广播并没有对接收者身份进行验证,而且am发送的是有序广播,因此可以注册一个高优先级的接收器接收并终止广播。注册广播接收器FakeSuRequestReceiver

接收并终止广播

2. superuser接收不到提权请求,app的root提权申请失败。比如LBE的主动防御需要root权限,提权失败后主动防御无法启动,恶意软件的行为无法被发现。

漏洞证明:

广播劫持并不是新问题,su和superuser的都是开源的,分析起来也不难,有兴趣的可以自己看下源码,也很容易重现。

修复方案:

对广播增加权限保护

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-03-07 22:40

厂商回复:

CNVD确认并复现所述情况,并在6日已联系上软件生产厂商,软件厂商回应迅速,已经提供了修复措施(见回复)。按本地攻击进行评分,基本危害评分5.12(中危),发现技术难度系数1.3,涉及行业或单位影响系数1.4,综合rank=5.12*1.3*1.4=9.318wooyun上的web漏洞已经比较多,这样的应用软件漏洞还是值得鼓励。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 http://www.wooyun.org/corps/cncert国家互联网应急中心 白帽子 | Rank:0 漏洞数:0)

    厂商已经提供修复补丁:https://github.com/CyanogenMod/android_packages_apps_Settings/commit/8f4ccf56ce8c277849db6668fc3e4a7833c0bdab

  2. 2010-01-01 00:00 xsser 白帽子 | Rank:152 漏洞数:17)

    @cncert国家互联网应急中心 是的,对于这样的应该颁发奖章

  3. 2010-01-01 00:00 milkee 白帽子 | Rank:10 漏洞数:1)

    @cncert国家互联网应急中心 @xsser 第一次在乌云发漏洞,多谢鼓励!