Android security tags, read closely by Lightrion

CVE-2024-29779 AI-generated analysis

platform/system/keymint, wire crate (legacy Trusty Keymaster message classification, wire/src/legacy.rs)

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

Adds the SetAttestationIdsKM3 (0xc001) legacy Trusty Keymaster message to the is_trusty_provisioning_code and is_trusty_provisioning_req predicates in platform/system/keymint wire/src/legacy.rs, so it is classified as a provisioning request like SetAttestationIds (0xc000).

Root cause

The TrustyKeymasterOperation enum in wire/src/legacy.rs (non-secure port) defines two attestation-ID messages: SetAttestationIds = 0xc000 and SetAttestationIdsKM3 = 0xc001. The predicates is_trusty_provisioning_code(code) and is_trusty_provisioning_req(req) listed SetAttestationKey, AppendAttestationCertChain, ClearAttestationCertChain, SetWrappedAttestationKey and SetAttestationIds, but not SetAttestationIdsKM3. As a result, a SetAttestationIdsKM3 message was not reported as a provisioning message by either predicate.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to November 2024 · Findings