Android security tags, read closely by Lightrion

CVE-2024-43769 AI-generated analysis

platform/frameworks/base, PackageManagerService (device admin / DMRH check used for package protection)

AI-generated: written from the bulletin and the fixing diffs by claude-fable-5-1, then checked against the code by claude-opus-5-5 (7 corrections). Verify against the commit before relying on it.

Reworks PackageManagerService.isPackageDeviceAdmin so the device management role holder (DMRH) counts as an admin only on users that are organization-managed. When the DMRH is a system package, it is treated as an admin on all users whenever any user is both managed and has it as role holder. Per the commit comment, this addresses 'uninstall updates' on an unmanaged user breaking management on other users.

Root cause

In services/core/java/com/android/server/pm/PackageManagerService.java, isPackageDeviceAdmin(packageName, userId) checks whether a package counts as a device admin. For a specific userId it looped over that single user only, calling dpm.packageHasActiveAdmins and isDeviceManagementRoleHolder for that user. The DMRH check did not consider whether the user is actually organization-managed. It also did not account for a system package's APK version being shared across all users. Per the commit comment, 'uninstall updates' on an unmanaged user may therefore break management on other users.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2024 · Findings