diff options
| author | 2023-05-09 05:29:22 +0000 | |
|---|---|---|
| committer | 2023-05-09 05:29:22 +0000 | |
| commit | d359469b9b62ced566b6cf61e4436383b907c801 (patch) | |
| tree | d47134efc9b783c7f6b589fb44ac9ec80c013f02 | |
| parent | 37b8ca636b16fd8456b0a6b2b24b17f3aa25277e (diff) | |
| parent | f8489cf667a0e5831b84c033e1fcd6a18337d4ed (diff) | |
Merge "Validate checkInstallConstraints() installer package name" into udc-dev
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 1721f83538ff..a3651946da12 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -1316,6 +1316,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements final var snapshot = mPm.snapshotComputer(); final int callingUid = Binder.getCallingUid(); + final var callingPackageName = snapshot.getNameForUid(callingUid); + if (!TextUtils.equals(callingPackageName, installerPackageName)) { + throw new SecurityException("The installerPackageName set by the caller doesn't match " + + "the caller's own package name."); + } if (!PackageManagerServiceUtils.isSystemOrRootOrShell(callingUid)) { for (var packageName : packageNames) { var ps = snapshot.getPackageStateInternal(packageName); |