Android security tags, read closely by Lightrion

CVE-2025-48635 AI-generated analysis

platform/frameworks/base, WindowManager / TaskFragmentOrganizerController (activity embedding)

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.

TaskFragmentOrganizerController now refuses to register a TaskFragment organizer from a non-positive pid and only hands the real activity token to an organizer when both the activity's pid and uid match the organizer's, preventing an activity token from being leaked to another process.

Root cause

The organizer registration path in TaskFragmentOrganizerController.java (hunk near line 430) stored new TaskFragmentOrganizerState(organizer, pid, uid) without validating the pid. Per the commit message, a malicious app could register the organizer via a one-way binder call to disguise itself as running on pid 0. prepareActivityReparentedToTask decided whether to pass the real activity.token or a temporary "TemporaryActivityToken" Binder by comparing only activity.getPid() with mOrganizerPid. As a result, the real token of an activity not belonging to the organizer process could be sent in the TYPE_ACTIVITY_REPARENTED_TO_TASK change.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2026 · Findings