Android security tags, read closely by Lightrion

CVE-2025-32327 AI-generated analysis

platform/packages/providers/MediaProvider, Photo Picker database facade (PickerDbFacade)

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

PickerDbFacade no longer embeds unrecognized, caller-supplied projection column names into the SQL projection of queryMediaIdForApps; unknown columns are dropped from the SQL query and re-added as null-valued columns in a MatrixCursor built after the query.

Root cause

In PickerDbFacade.getMediaStoreProjectionLocked, the default branch of the column switch handled any unsupported column name by emitting projection[i] = getProjectionSimple("NULL", columns[i]), i.e. a projection entry built from NULL and the raw column string supplied by the caller. The column string was not validated before being placed in the projection array passed to SQLiteQueryBuilder.query in queryMediaIdForAppsInternal, so a caller-chosen string could become part of the SQL projection. The test change from "testInvalidColumn" to "test invalid column" (not a bare SQL identifier) suggests that column names previously reached the SQL layer.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2025 · Findings