Android security tags, read closely by Lightrion

CVE-2025-26421 AI-generated analysis

platform/packages/apps/Settings (app info: AppButtonsPreferenceController, spa PackageInfoPresenter, Utils) plus platform/frameworks/base core/res config resource

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

Adds an OEM-configurable list of "biometric protected" packages (frameworks/base resource config_biometric_protected_package_names). The Settings app-info screens (legacy AppButtonsPreferenceController and SPA PackageInfoPresenter) now require lock-screen confirmation via AppInfoDashboardFragment.showLockScreen before disabling, force-stopping or uninstalling (updates of) a package on that list.

Root cause

In Settings, the app-info actions that modify a package ran as soon as the button or dialog was clicked, with no extra user verification. AppButtonsPreferenceController.handleDialogClick ran DisableChangerRunnable (COMPONENT_ENABLED_STATE_DISABLED_USER) and forceStopPackage directly. AppButtonsPreferenceController.uninstallPkg started ACTION_UNINSTALL_PACKAGE directly. The SPA PackageInfoPresenter.disable/forceStop/startUninstallActivity called setApplicationEnabledSetting, forceStopPackageAsUser and startUninstallActivity directly. There was no concept of a protected package whose modification requires the user to re-authenticate.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to May 2025 · Findings