Revert "Only allow root/system UIDs to send broadcast to unexported receiver"

This reverts commit 6ea76aa7e5.

Reason for revert: b/228082755 surfaced additional receivers that were registering for system broadcasts that are sent from UIDs other than root / system with the RECEIVER_NOT_EXPORTED flag. Reverting this to audit the remaining receivers that are registering for system broadcasts and using this flag.

Fixes: b/228082755
Change-Id: I1e8b01f02e980f8305bcb1462ed929c84bc0d39f
This commit is contained in:
Michael Groover
2022-04-04 22:25:27 +00:00
parent 6ea76aa7e5
commit 391263ceb4

View File

@@ -869,9 +869,9 @@ public final class BroadcastQueue {
// Ensure that broadcasts are only sent to other apps if they are explicitly marked as
// exported, or are System level broadcasts
if (!skip && !filter.exported && mService.checkComponentPermission(null, r.callingPid,
r.callingUid, filter.receiverList.uid, filter.exported)
!= PackageManager.PERMISSION_GRANTED) {
if (!skip && !filter.exported && !Process.isCoreUid(r.callingUid)
&& filter.receiverList.uid != r.callingUid) {
Slog.w(TAG, "Exported Denial: sending "
+ r.intent.toString()
+ ", action: " + r.intent.getAction()