Android security tags, read closely by Lightrion

CVE-2025-48536 AI-generated analysis

platform/packages/apps/Settings, Settings Slices (SettingsSliceProvider)

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 (6 corrections). Verify against the commit before relying on it.

SettingsSliceProvider.grantAllowlistedPackagePermissions now combines the existing slice allowlist (slice_allowlist_package_names) with a new debug-only array (slice_allowlist_package_names_for_dev) whose entries are granted only when Build.IS_DEBUGGABLE is true, so packages listed only in the dev array no longer get Settings slice permissions on non-debuggable builds.

Root cause

In src/com/android/settings/slices/SettingsSliceProvider.java, grantAllowlistedPackagePermissions(Context, List<Uri>) read a single resource array R.array.slice_allowlist_package_names and, for every descendant slice Uri, called SliceManager.grantSlicePermission(toPackage, descendant) for every listed package name. It made no distinction between packages needed in production and packages only used for debugging, so every package name in the allowlist (the AOSP default is empty; entries come from overlays) was granted access to the Settings slice URIs on all build types. Per index search, SliceManagerService.grantSlicePermission checks the caller and the URI owner, then records the grant for toPkg by name via mPermissions.grantSliceAccess. The material does not show any check that toPkg is installed or trusted. The commit title describes the problem as the provider granting access to "unused packages".

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2025 · Findings