Android security tags, read closely by Lightrion

CVE-2026-45517 AI-generated analysis

platform/packages/providers/MediaProvider, photopicker preselection (PickerUriResolver, and MediaQueryForPreSelection on 16/17)

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

Adds structural checks (scheme, authority, picker path pattern) and a current-user-id check to caller-supplied preselection URIs in PickerUriResolver.processUrisForSelection, ahead of the per-URI permission check, so malformed, foreign-authority or cross-user URIs are dropped before their ids reach the picker query.

Root cause

PickerUriResolver.processUrisForSelection takes the URI strings an app passes for preselection (EXTRA_PICKER_PRE_SELECTION_URIS, delivered as QUERY_ID_SELECTION per the tests) and runs Uri.parse on each. Before the fix, its only check was checkUriPermission(uri, -1, callingUid), after which the URI went into accessibleUris and its id was placed in QUERY_LOCAL_ID_SELECTION / QUERY_CLOUD_ID_SELECTION. Nothing checked that the URI was a content:// URI with MediaStore.AUTHORITY and a valid picker path shape. Nothing checked that the user id segment (content://media/picker/<user-id>/...) matched the current user profile. According to the commit message, the user id check prevents data mismatch during database queries. The bulletin rates the issue High, type information disclosure.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings