OSDN Git Service

[RESTRICT_AUTOMERGE]: Add cross user permission check - areNotificationsEnabledForPackage
authorJulia Reynolds <juliacr@google.com>
Wed, 27 Mar 2019 16:15:57 +0000 (12:15 -0400)
committerGreg Wroblewski <musashi@google.com>
Mon, 15 Apr 2019 19:17:10 +0000 (12:17 -0700)
Test: atest
Fixes: 128599467
Change-Id: I13a0ca7590f8c4b44379730e0ee2088aba400c2a
(cherry picked from commit 657d164136199126ae241848887de0230699cea0)
(cherry picked from commit bed6193b5954565f60afb5f5f9868d89991354d7)

services/core/java/com/android/server/notification/NotificationManagerService.java

index 566e5f5..4baec05 100644 (file)
@@ -1767,6 +1767,11 @@ public class NotificationManagerService extends SystemService {
         @Override
         public boolean areNotificationsEnabledForPackage(String pkg, int uid) {
             checkCallerIsSystemOrSameApp(pkg);
+            if (UserHandle.getCallingUserId() != UserHandle.getUserId(uid)) {
+                getContext().enforceCallingPermission(
+                        android.Manifest.permission.INTERACT_ACROSS_USERS,
+                        "canNotifyAsPackage for uid " + uid);
+            }
 
             return mRankingHelper.getImportance(pkg, uid) != IMPORTANCE_NONE;
         }