mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-10-01 01:35:54 -04:00
082bc48c32
https://review.lineageos.org/q/topic:P_asb_2022-05 https://review.lineageos.org/q/topic:P_asb_2022-06 https://review.lineageos.org/q/topic:P_asb_2022-07 https://review.lineageos.org/q/topic:P_asb_2022-08 https://review.lineageos.org/q/topic:P_asb_2022-09 https://review.lineageos.org/q/topic:P_asb_2022-10 https://review.lineageos.org/q/topic:P_asb_2022-11 https://review.lineageos.org/q/topic:P_asb_2022-12 https://review.lineageos.org/q/topic:P_asb_2023-01 https://review.lineageos.org/q/topic:P_asb_2023-02 https://review.lineageos.org/q/topic:P_asb_2023-03 https://review.lineageos.org/q/topic:P_asb_2023-04 https://review.lineageos.org/q/topic:P_asb_2023-05 https://review.lineageos.org/q/topic:P_asb_2023-06 https://review.lineageos.org/q/topic:P_asb_2023-07 accounted for via manifest change: https://review.lineageos.org/c/LineageOS/android_external_freetype/+/361250 https://review.lineageos.org/q/topic:P_asb_2023-08 accounted for via manifest change: https://review.lineageos.org/c/LineageOS/android_external_freetype/+/364606 accounted for via patches: https://review.lineageos.org/c/LineageOS/android_system_ca-certificates/+/365328 https://review.lineageos.org/q/topic:P_asb_2023-09 https://review.lineageos.org/q/topic:P_asb_2023-10 https://review.lineageos.org/q/topic:P_asb_2023-11 accounted for via patches: https://review.lineageos.org/c/LineageOS/android_system_ca-certificates/+/374916 https://review.lineageos.org/q/topic:P_asb_2023-12 https://review.lineageos.org/q/topic:P_asb_2024-01 https://review.lineageos.org/q/topic:P_asb_2024-02 https://review.lineageos.org/q/topic:P_asb_2024-03 https://review.lineageos.org/q/topic:P_asb_2024-04 Signed-off-by: Tavi <tavi@divested.dev>
47 lines
2.2 KiB
Diff
47 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Oli Lan <olilan@google.com>
|
|
Date: Mon, 8 Aug 2022 13:31:36 +0100
|
|
Subject: [PATCH] RESTRICT AUTOMERGE Prevent non-admin users from deleting
|
|
system apps.
|
|
|
|
This addresses a security issue where the guest user can remove updates
|
|
for system apps.
|
|
|
|
With this CL, attempts to uninstall/downgrade system apps will fail if
|
|
attempted by a non-admin user, unless the DELETE_SYSTEM_APP flag is
|
|
specified.
|
|
|
|
This is a fixed version of ag/17400663, to address b/236578018.
|
|
|
|
Bug: 170646036
|
|
Test: manual, try uninstalling system app update as guest
|
|
Change-Id: I5eab215cba6528aa4316ed7b20bee544915c1486
|
|
(cherry picked from commit 7fdc96aef4e098d2271ac3a8557bd8e1ad6827f3)
|
|
Merged-In: I5eab215cba6528aa4316ed7b20bee544915c1486
|
|
---
|
|
.../com/android/server/pm/PackageManagerService.java | 11 +++++++++++
|
|
1 file changed, 11 insertions(+)
|
|
|
|
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
|
|
index dc44fe17722d..c873f82d740c 100644
|
|
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
|
|
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
|
|
@@ -18476,6 +18476,17 @@ public class PackageManagerService extends IPackageManager.Stub
|
|
return PackageManager.DELETE_FAILED_INTERNAL_ERROR;
|
|
}
|
|
|
|
+ if (isSystemApp(uninstalledPs)
|
|
+ && (deleteFlags & PackageManager.DELETE_SYSTEM_APP) == 0) {
|
|
+ UserInfo userInfo = sUserManager.getUserInfo(userId);
|
|
+ if (userInfo == null || !userInfo.isAdmin()) {
|
|
+ Slog.w(TAG, "Not removing package " + packageName
|
|
+ + " as only admin user may downgrade system apps");
|
|
+ EventLog.writeEvent(0x534e4554, "170646036", -1, packageName);
|
|
+ return PackageManager.DELETE_FAILED_USER_RESTRICTED;
|
|
+ }
|
|
+ }
|
|
+
|
|
// Static shared libs can be declared by any package, so let us not
|
|
// allow removing a package if it provides a lib others depend on.
|
|
pkg = mPackages.get(packageName);
|