summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mugdha Lakhani <nator@google.com> 2023-03-03 18:04:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-03 18:04:51 +0000
commit7453f0ff59e004f1a6f2beaa6b0b65af36b4bcd3 (patch)
treeb1460183294e3012502d2c32bebd36b5488dff51
parent1356b92c231803001891850301010007fd7fb9c7 (diff)
parentca49ddc03fc161e11e4ea99a3e70ef766715410f (diff)
Merge "DO NOT MERGE Isolated processes must fail registering BRs." into tm-dev
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 51d9fbdb61aa..ecfa1f8bde27 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -13081,12 +13081,17 @@ public class ActivityManagerService extends IActivityManager.Stub
public Intent registerReceiverWithFeature(IApplicationThread caller, String callerPackage,
String callerFeatureId, String receiverId, IIntentReceiver receiver,
IntentFilter filter, String permission, int userId, int flags) {
+ enforceNotIsolatedCaller("registerReceiver");
+
// Allow Sandbox process to register only unexported receivers.
- if ((flags & Context.RECEIVER_NOT_EXPORTED) != 0) {
- enforceNotIsolatedCaller("registerReceiver");
- } else if (mSdkSandboxSettings.isBroadcastReceiverRestrictionsEnforced()) {
- enforceNotIsolatedOrSdkSandboxCaller("registerReceiver");
+ boolean unexported = (flags & Context.RECEIVER_NOT_EXPORTED) != 0;
+ if (mSdkSandboxSettings.isBroadcastReceiverRestrictionsEnforced()
+ && Process.isSdkSandboxUid(Binder.getCallingUid())
+ && !unexported) {
+ throw new SecurityException("SDK sandbox process not allowed to call "
+ + "registerReceiver");
}
+
ArrayList<Intent> stickyIntents = null;
ProcessRecord callerApp = null;
final boolean visibleToInstantApps