¡¾Ô­´´Îó²î¡¿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