Android security tags, read closely by Lightrion

CVE-2024-34723 AI-generated analysis

platform/frameworks/base, media session (android.media.session.ParcelableListBinder, com.android.server.media.MediaSessionRecord)

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.

ParcelableListBinder now takes the expected element Class and only adds deserialized Parcelables that are assignable to it, and MediaSessionRecord.getBinderForSetQueue passes QueueItem.class, so non-QueueItem Parcelable objects are no longer accepted into the media session queue list.

Root cause

ParcelableListBinder.onTransact read each list element with data.readParcelable(null) and added it to the List<T> without checking its runtime type. Because of generic erasure, any Parcelable class the caller wrote was accepted. MediaSessionRecord.getBinderForSetQueue returns such a binder, and its consumer stores the received list in mQueue, which is expected to hold QueueItem. A caller that transacts with this binder directly could therefore put non-QueueItem Parcelables into mQueue (the commit cites malicious apps calling it directly via reflection with incompatible items, b/317048338). The commit title describes the vulnerability as allowing apps to start from the background. The bulletin rates it High EoP.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to July 2024 · Findings