0371-63319761
您的当前位置:主页 > 安全研究 > 行业新闻 >

安卓预装APP被曝高危漏洞,影响数百万用户

时间:2022-06-06

微软发现安卓系统中预装APP中的多个安全漏洞,下载量超百万。
 
微软在mce系统移动框架中发现多个高危安全漏洞,漏洞CVE编号分别为CVE-2021-42598、CVE-2021-42599、CVE-2021-42600和CVE-2021-42601,CVSS评分在7到8.9分之间。该框架被多个移动服务提供商用于预装的安卓系统APP中,攻击者利用这些漏洞可以实现本地或远程攻击。
 
CVE-2021-42599:命令注入漏洞
 
研究人员在device服务中发现了一个命令注入漏洞,漏洞CVE编号为CVE-2021-42599。Device服务具有停止给定包活动的能力。客户端完全控制了value参数,简单运行一下命令:
 
am force-stop "value"
 
因为该参数没有正则化,攻击者可以添加backticks或quotation marks来运行任意代码,如:
 
am force-stop "a"; command-to-run; echo "a"
 
图1 Device服务中实现命令注入的PoC代码
 
Mce公司已经移除了有漏洞的代码,有漏洞的代码已经不存在于新版本的框架中。
 
特定APP PiTM JS注入漏洞利用
 
Mac框架提供的访问表明漏洞存在于APP JS客户端逻辑中,APP可配置为明文通信。但客户端的代码是混淆的动态JS代码,主要是bundle.js。由于JS客户端与JarvisJSInterface服务器的信任,可以成功注入JS内容到WebView的攻击者可以继承APP已有的权限。
 
注入策略:
 
● 向BROWSABLE Intent中提供指定GET参数来影响JS客户端行为;
 
● 用BROWSABLE Intent来触发APP成为中间人,查看设备的全部流量。如果客户端尝试提取外部内容来注入JS内容并翻译为脚本或HTML。
 
研究人员逆向客户端混淆后的代码,发现不能从GET参数注入JS。唯一可做的是影响客户端的自测试,比如电池耗尽测试或WiFi连接测试。
 
PoC执行步骤如下:
 
● 对目标设备执行中间人攻击,诱使用户点击“mcesystems://”中的链接;
 
● 注入JS到以下明文页面响应:
 
通过callback方法调用init来劫持JS接口;
 
使用JS接口请求方法来获得服务;
 
使用XHR发送数据给服务器来进行信息收集。
 
图2 注入JS代码到WebView,允许攻击者调用任意服务和方法
 
CVE-2021-42601:反序列化本地权限提升
 
研究人员在框架中还发现了一个本地权限提升漏洞——CVE-2021-42601,允许恶意APP获得系统APP的权限。
 
研究人员发现在以上APP中,main Activity尝试处理一个Google Firebase的链接(点击后会启动APP而非浏览器)。该链接的处理会尝试用密钥com.google.firebase.dynamiclinks.DYNAMIC_LINK_DATA反序列化来自Intent Extra字节数组的结构PendingDynamicLinkData。之后,mce框架会使用该框架来生成不同的JSON对象,其中可能包含原始链接中categoryId查询参数的数据,最终mFlowSDKInput会以一种不安全的方式注入到JarvisWebView实例中:
 
图3 未处理的JS加载允许任意代码注入到WebView
 
因为categoryId查询参数可能包含多个符号,一个可以注入任意JS代码到webview中。研究人员决定注入代码来服务器并加载第二阶段代码。
 
图4 本地注入PoC漏洞利用
 
参考及来源:https://www.microsoft.com/security/blog/2022/05/27/android-apps-with-millions-of-downloads-exposed-to-high-severity-vulnerabilities/
来源: 嘶吼专业版
 

Copyright © 2017-2024 河南中瀚安全技术有限公司 版权所有 豫ICP备18011434号-1 豫公网安备 41019702002746号