¡¾Ô­´´·ì϶¡¿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