¡¾Ô­´´Îó²î¡¿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Ìᳫij¸öÐж¯ÇëÇóʱ £¬ÏµÍ³×é¼þ»áͨ¹ýŲÓÃÁ´½øÈëqueryContentProvidersÒªÁìÀ´ÑéÖ¤¸ÃURIµÄ»á¼ûȨÏÞ¡£


Ïêϸ´úÂëʵÏÖÈçÏ£º


ͼƬ1.png


Õâ¸öº¯ÊýÊ×Ïȼì²éÓ¦ÓÃÊÇ·ñЯ´øÁË"@userid!=currentuserid"µÄ±ê¼Ç £¬ÒÔ´ËÅжÏÊÇ·ñ±£´æ¿çÓû§URI»á¼ûµÄÇéÐΡ£ÈôÊÇÈ·ÊµÉæ¼°¿çÓû§»á¼û £¬ÔòŲÓÃcheckCrossUserPermissionÀ´Ä¥Á·ÊÇ·ñÓпçÓû§»á¼ûµÄȨÏÞ £¬²¢Í¬Ê±È·ÈÏ»á¼ûÊÇ·ñȪԴÓÚsystem/rootÓû§ID¡£ÈôÊDz»ÊÇ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Ä£¿éÖÐ £¬´ËÄ£¿éΪAOSPͨÓÃÁåÉùϵͳӦÓà £¬¹©Ó¦ÓþÙÐÐÍØÕ¹ÁåÉù×Ô½ç˵ÉèÖá£

ͼƬ.png

deskclockÄ£¿é¾ß±¸INTERACT_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