From cd4c26b1e2e40f1d4fb05d573a1401083868ec0a Mon Sep 17 00:00:00 2001 From: Kurt Dresner Date: Fri, 11 Feb 2022 22:34:50 +0000 Subject: [PATCH] Check that the calling package is legitimate for both enabling and disabling car mode. Bug:194402848 Change-Id: Ifb4b68db91bfd53c5b0ba26c17dc8f97a2365267 --- .../core/java/com/android/server/UiModeManagerService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java index c236a7f800004..f338a0b2aa581 100644 --- a/services/core/java/com/android/server/UiModeManagerService.java +++ b/services/core/java/com/android/server/UiModeManagerService.java @@ -631,6 +631,8 @@ final class UiModeManagerService extends SystemService { + "permission ENTER_CAR_MODE_PRIORITIZED"); } + assertLegit(callingPackage); + final long ident = Binder.clearCallingIdentity(); try { synchronized (mLock) { @@ -671,6 +673,9 @@ final class UiModeManagerService extends SystemService { // mode flag to be specified; this is so that the user can disable car mode at all // priorities using the persistent notification. boolean isSystemCaller = mInjector.getCallingUid() == Process.SYSTEM_UID; + if (!isSystemCaller) { + assertLegit(callingPackage); + } final int carModeFlags = isSystemCaller ? flags : flags & ~UiModeManager.DISABLE_CAR_MODE_ALL_PRIORITIES;