Android security tags, read closely by Lightrion

CVE-2025-32324 AI-generated analysis

platform/frameworks/base, ActivityManagerService shell command (services/core/java/com/android/server/am/ActivityManagerShellCommand.java)

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.

Moves the runStartActivity(pw) call of the `am start-in-vsync` shell command out of the Choreographer frame callback (posted via the system_server UI handler) back onto the shell command's own thread, so the activity is started with the shell caller's pid/uid.

Root cause

In ActivityManagerShellCommand.onCommand, the "start-in-vsync" case used mInternal.mUiHandler.runWithScissors to post a lambda that registered a Choreographer frame callback, and runStartActivity(pw) was called inside that frame callback. The callback runs on the UI handler thread rather than the thread handling the shell command, so the activity start ran with an incorrect pid/uid (commit title: "Fix starting the activity with incorrect pid/uid"). The result was passed back through a startResult[] array and the ProgressWaiter.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2025 · Findings