launchAnyWhere: Activity组件权限绕过漏洞解析(Google Bug 7699048 )
这篇讲的是一个影响安卓2.3至4.3版本的权限绕过漏洞——“launchAnyWhere”。作者从AccountManagerService的工作机制切入,揭示了一个严重的设计问题:当应用请求添加账户时,系统服务会调起认证应用并转发一个Intent,但这个Intent的内容完全由认证应用控制。如果请求方是系统应用(如“设置”),它就会在用户不知情的情况下,执行攻击者精心构造的Intent,从而启动任意未导出的Activity。 漏洞的巧妙之处在于其利用链非常简洁:攻击者通过特定Intent调起“设置”中的AddAccountSettings,就能让系统自动完成从触发到启动目标组件的全过程。文章列举了几个危害场景,例如绕过验证直接重置手机PIN码,或利用未导出的WebView加载恶意页面。这本质上是一个权限委托的信任链被恶意劫持的案例。 对于移动安全研究者而言,这篇文章清晰地展示了如何从一个合法的系统服务接口中,挖掘出突破进程隔离限制的攻击面。它提醒开发者,即使是系统服务的“便利”设计,也可能在无意中成为危险的权限提升通道。