Android security tags, read closely by Lightrion

CVE-2024-0050 AI-generated analysis

platform/frameworks/av, libstagefright OMX software video decoder base class (media/libstagefright/omx/SoftVideoDecoderOMXComponent.cpp)

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 isValidOMXParam() validation of the client-supplied DescribeHDR10PlusInfoParams structure in SoftVideoDecoderOMXComponent::getConfig and SoftVideoDecoderOMXComponent::internalSetConfig before the structure is used.

Root cause

In SoftVideoDecoderOMXComponent.cpp, the kDescribeHdr10PlusInfoIndex handlers in getConfig() and internalSetConfig() cast the caller-supplied OMX_PTR params directly to DescribeHDR10PlusInfoParams. They then used it without the isValidOMXParam() check that sibling cases perform (e.g. DescribeHDRStaticInfoParams in getConfig, lines 589-594 at r29). getConfig() then wrote outParams->nParamSizeUsed and memcpy'd info->data() into outParams->nValue, based on outParams->nParamSize. internalSetConfig() went on to its frameConfig / HDR10+ handling. In neither case was the structure's declared size checked.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2024 · Findings