Android security tags, read closely by Lightrion

CVE-2025-48627 AI-generated analysis

platform/frameworks/base, WindowManager / ActivityTaskManagerService (activity start, background activity launch checks)

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

In ActivityTaskManagerService.startNextMatchingActivity, the fix saves the real Binder caller (uid/pid) before the calling identity is cleared. It then passes them to the ActivityStarter as realCallingUid/realCallingPid instead of r.launchedFromUid / -1, so the background activity launch (BAL) decision is made against the app that actually calls the method. It also removes the earlier setAvoidMoveToFront() workaround from b/230492947.

Root cause

startNextMatchingActivity built the ActivityStarter with setRealCallingUid(r.launchedFromUid) and setRealCallingPid(-1). launchedFromUid is the uid of the app that launched the calling activity (for example the Launcher), and that app may hold BAL privileges. Per the commit message, using this identity as the real caller lets the next matching activity be launched with the launching app's BAL standing instead of the calling app's. An earlier mitigation (b/230492947) forced setAvoidMoveToFront() on the options. The commit message says this broke the legitimate ability to start a new task via startNextMatchingActivity and did not address the identity problem.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2025 · Findings