Android security tags, read closely by Lightrion

CVE-2025-22433 AI-generated analysis

platform/frameworks/base (core/java/com/android/internal/app/IntentForwarderActivity.java) and platform/packages/modules/IntentResolver (java/src/com/android/intentresolver/IntentForwarderActivity.java), cross-profile intent forwarding

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.

IntentForwarderActivity.canForward now runs the cross-profile forwarding check (ACTION_CHOOSER rejection plus IPackageManager.canForwardTo) on both the forwarded intent and its selector, instead of checking only the selector when one is present.

Root cause

In both copies of IntentForwarderActivity.canForward(), forwardIntent was sanitized, and the ACTION_CHOOSER rejection was applied to forwardIntent. When forwardIntent.getSelector() was non-null, however, the local intentToCheck was replaced by the selector, and only the selector was type-resolved and passed to packageManager.canForwardTo(). The underlying intent, which is what is actually forwarded (the method returns forwardIntent), therefore never went through the cross-profile forwarding policy check itself. Per the commit message, an intent that would not be allowed could be given a different selector and launched across profiles.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to April 2025 · Findings