Android security tags, read closely by Lightrion

CVE-2025-22416 AI-generated analysis

platform/frameworks/base, core/java/com/android/internal/app/ChooserActivity.java (share sheet / intent chooser)

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

ChooserActivity now checks, through IUriGrantsManager.checkGrantUriPermission_ignoreNonSystem, that the launching caller has read access to the URI behind any URI-type Icon in the caller-supplied ChooserTarget array. If the check fails, the icon is removed from that target.

Root cause

ChooserActivity parses the caller-provided Parcelable array into mCallerChooserTargets in a loop that casts pa[i] to ChooserTarget. Each target was accepted as-is, including its Icon. An Icon of type TYPE_URI or TYPE_URI_ADAPTIVE_BITMAP references a URI, and nothing checked that the caller (getLaunchedFromUid()) had read access to that URI.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to April 2025 · Findings