¡¾Ô­´´·ì϶¡¿AOSP¿çÓû§×ÊÔ´½Ó¼û·ì϶

°ä²¼¹¦·ò 2025-05-09
Ò»¡¢×êÑв¼¾°


AndroidµÄ¶àÓû§»úÔìÊÇָϵͳ֧³ÖÔÚͳһ̨É豸ÉÏ´´½¨¶à¸öÓû§ÕË»§£¬Ã¿¸öÕË»§Õ¼ÓжÀÁ¢µÄÀûÓû·¾³¡¢Êý¾ÝºÍÉèÖã¬ÖØÒªÓÃÓÚÆ½°åÉ豸¡¢¹²ÏíÉ豸¡¢ÆóÒµÖÎÀíÉ豸µÈ³¡¾° ¡£GA»Æ½ð¼×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°²È«ÍŶӶÔGA»Æ½ð¼×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×îÖÕÖÕ³¡¸ÃÖ°ÄÜ¿ª·¢£¬Ê¹ÓÃÆäËû×é¼þ´úÌæ¸ÃÖ°ÄÜ ¡£



GA»Æ½ð¼×»ý¼«·ÀÓù³¢ÊÔÊÒ£¨ADLab£©


ADLab³ÉÁ¢ÓÚ1999Ä꣬ÊÇÖйú°²È«ÐÐÒµ×îÔç³ÉÁ¢µÄ¹¥·À¼¼Êõ×êÑг¢ÊÔÊÒÖ®Ò»£¬Î¢ÈíMAPP´òËãÖ÷Ìâ³ÉÔ±£¬¡°ºÚȸ¹¥»÷¡±¸ÅÏëÊ×ÍÆÕß ¡£½ØÖÁĿǰ£¬ADLabÒÑͨ¹ý CNVD/CNNVD/NVDB/CVEÀۼư䲼°²È«·ì϶6500Óà¸ö£¬³ÖÐøÎ¬³Ö¹ú¼ÊÍøÂ簲ȫÁìÓòÒ»Á÷Ë®×¼ ¡£³¢ÊÔÊÒ×êÑз½Ïòº­¸Ç»ù´¡°²È«×êÑÓ×¢Êý¾Ý°²È«×êÑÓ×¢5G°²È«×êÑÓ×¢AI+°²È«×êÑÓ×¢ÎÀÐǰ²È«×êÑÓ×¢ÔËÓªÉÌ»ù´¡ÉèÊ©°²È«×êÑÓ×¢ÒÆ¶¯°²È«×êÑÓ×¢ÎïÁªÍø°²È«×êÑÓ×¢³µÁªÍø°²È«×êÑÓ×¢¹¤¿Ø°²È«×êÑÓ×¢ÐÅ´´°²È«×êÑÓ×¢ÔÆ°²È«×êÑÓ×¢ÎÞÏß°²È«×êÑÓ×¢¸ß¼¶Íþв×êÑÓ×¢¹¥·ÀÆ¥µÐ¼¼Êõ×êÑÐ ¡£×êÑгɾÍÀûÓÃÓÚ²úÆ·Ö÷Ìâ¼¼Êõ×êÑÓ×¢¹ú¶È³Áµã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨Òµ°²È«·þÎñµÈ ¡£


adlab.jpg