Android security tags, read closely by Lightrion

CVE-2024-49724 AI-generated analysis

platform/frameworks/base, services/core AccountManagerService (accounts)

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.

Hardens AccountManagerService's validation of an authenticator-supplied KEY_INTENT. After the target activity passes the signature/exported-system check, the intent is explicitly pinned to the resolved component and written back into the result bundle. The exact Intent class check in checkKeyIntentParceledCorrectly now applies to both the original and the re-parceled intent.

Root cause

In AccountManagerService checkKeyIntent, the KEY_INTENT was resolved via pm.resolveActivityAsUser(intent, 0, mAccounts.userId) and the resolved ActivityInfo was checked (isExportedSystemActivity or hasSignatureCapability with authUid, CertCapabilities.AUTH). On success the method returned true but left the intent in the bundle unchanged, so the delivered intent was not pinned to the component that had been validated. Separately, in checkKeyIntentParceledCorrectly only the original intent was required to be exactly Intent.class. The re-parceled simulateIntent was only compared via filterEquals, so an Intent subclass on the re-parceled side was not rejected.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to January 2025 · Findings