【原创误差】AOSP跨用户资源会见误差

宣布时间 2025-05-09
一、研究配景


Android的多用户机制是指系统支持在统一台装备上建设多个用户账户 ,每个账户拥有自力的应用情形、数据和设置 ,主要用于平板装备、共享装备、企业管理装备等场景。尊龙凯官网入口ADLab通过对多用户模式下隔离机制开展清静研究 ,聚焦系统跨用户资源会见的输入路径污染问题 ,挖掘了多个AOSP高危误差。别的 ,还发明海内外主流厂商中也保存同类型高危误差CVE-2024-34674、CVE-2024-34672、CVE-2025-20883、CVE-2024-49402等。


二、AOSP多用户系统机制


2.1 基本类型


Android系统界说了多种用户类型:


? Primary User(主用户):装备初始化时建设的第一个用户 ,拥有所有系统权限 ,唯一可以吸收OTA。

? Secondary User(次用户):类似自力账号 ,无法吸收OTA ,不具备装备管理权限。

? Guest User(访客用户):暂时用户 ,退出后会删除所有数据。

? Profile(设置文件):Work Profile事情设置文件用于BYOD企业场景 ,与主用户隔离但共享部分资源;Restricted Profile限制设置文件用于平板多用户模式 ,限制权限和会见内容。

对应权限隔离清静机制:

? 各用户权限自力授予。

? 一个用户授予权限不会影响其他用户。

? 跨用户通讯需要系统权限 ,如:INTERACT_ACROSS_USERS或INTERACT_ACROSS_USERS_FULL。

? 通俗三方应用无法通过Intent、ContentProvider 等越权会见其他用户的数据或服务。


2.2 �;せ�


Android系统实验了多种�;せ埔员苊饪缬没У牟环ㄗ试椿峒�。在Android中 ,URI的会见权限是由ContentProvider统一管理和控制的。当用户A的应用携带特定URI提倡某个行动请求时 ,系统组件会通过挪用链进入queryContentProviders要领来验证该URI的会见权限。


详细代码实现如下:


图片1.png


这个函数首先检查应用是否携带了"@userid!=currentuserid"的标记 ,以此判断是否保存跨用户URI会见的情形。若是确实涉及跨用户会见 ,则挪用checkCrossUserPermission来磨练是否有跨用户会见的权限 ,并同时确认会见是否泉源于system/root用户ID。若是不是system/root用户 ,函数将继续检查该应用是否拥有INTERACT_ACROSS_USERS_FULL或INTERACT_ACROSS_USERS系统权限。若上述条件均未知足 ,则不允许举行跨用户URI资源的会见。


图片2.png


若是同时知足以下三个条件 ,系统可能保存跨用户的资源会见误差:


? 系统应用中保存设置为exported=true的组件;

? 该组件可以吸收三方应用传入的URI参数 ,并且未对userid与目今currentUserId举行清静校验;

? 系统应用的AndroidManifest.xml中声明晰INTERACT_ACROSS_USERS或INTERACT_ACROSS_USERS_FULL权限。


三、误差原理剖析(Android-337184703)


误差保存于deskclock apk�?橹� ,此�?槲狝OSP通用铃声系统应用 ,供应用举行拓展铃声自界说设置。

图片.png

deskclock�?榫弑窱NTERACT_ACROSS_USERS*权限。在HandleSetAlarmApiCalls的挪用链中 ,系统将导出组件开放给三方应用 ,保存清静隐患。详细挪用流程如下:


HandleSetAlarmApiCalls/HandleSetAlarm.onCreate

└──> handleSetAlarm(intent)

 └──> updateAlarmFromIntent(intent, alarm)

  └──>alarm.alert=getAlertFromIntent(intent, alarm.alert)


由于getAlertFromIntent未对传入的URI参数举行任何校验 ,便直接设置alarm.alert ,可能导致三方应用传入恶意URI ,从而引发权限绕过或信息泄露等危害。


图片3.png


攻击者可以结构恶意挪用链 ,通过传入特定的URI参数并指定目的用户的userId ,进而触发系统组件的处置惩罚逻辑。在未举行用户身份校验的情形下 ,系统会直接使用该URI设置alarm.alert字段。由于该URI可指向其他用户空间下的资源 ,攻击者可进一步通过遍历_id字段 ,抵达恣意读取并窃取其他用户音频文件的目的。


四、误差处置惩罚


Google Android清静团队对尊龙凯官网入口ADLab提交的误差报告举行了评估 ,确定该误差为高危级别。鉴于修复保存的难题 ,在最新宣布的版本中 ,已弃用了保存误差的组件 ,并在新版本中接纳其他组件举行替换。


图片4.png


图片5.png


五、小 结


为了阻止此类问题 ,建议设置权限最小化 ,审慎使用INTERACT_ACROSS_USERS*这类权限 ,别的 ,对开放组件举行userid是否为currentuserid的清静校验。


六、误差披露时间线


? 2024年4月26日 ADLab向Goolge提交Android系统清静报告。

? 2024年4月30日 ADLab增补细节。

? 2024年5月8日  Goolge确认误差评级以及高危奖励。

? 2024年12月11日 双方相同修复计划。

? 2024年12月24日 Google最终阻止该功效开发 ,使用其他组件替换该功效。



尊龙凯官网入口起劲防御实验室(ADLab)


ADLab建设于1999年 ,是中国清静行业最早建设的攻防手艺研究实验室之一 ,微软MAPP妄想焦点成员 ,“黑雀攻击”看法首推者。阻止现在 ,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计宣布清静误差6500余个 ,一连坚持国际网络清静领域一流水准。实验室研究偏向涵盖基础清静研究、数据清静研究、5G清静研究、AI+清静研究、卫星清静研究、运营商基础设施清静研究、移动清静研究、物联网清静研究、车联网清静研究、工控清静研究、信创清静研究、云清静研究、无线清静研究、高级威胁研究、攻防对抗手艺研究。研究效果应用于产品焦点手艺研究、国家重点科技项目攻关、专业清静服务等。


adlab.jpg