Android security tags, read closely by Lightrion

CVE-2023-40077 AI-generated analysis

platform/frameworks/av, media foundation (MetaDataBase, media/module/foundation/MetaDataBase.cpp), reached via httplive (HTTP Live Streaming) per the commit subject

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.

Adds a std::mutex to MetaDataBase::MetaDataInternal and takes it in clear, remove, setData, findData, hasData, toString, dumpToLog and writeToParcel, so concurrent threads no longer race on the KeyedVector of items.

Root cause

MetaDataBase stores its items in a KeyedVector<uint32_t, typed_data> inside MetaDataInternal with no synchronization. When one thread mutates the vector (setData, remove, clear) while another thread looks it up or iterates it (findData, hasData, toString, dumpToLog, writeToParcel), the vector can change underneath the reader, which then accesses the wrong memory. The commit message attributes the use-after-free to the httplive path.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2023 · Findings