Android security tags, read closely by Lightrion

CVE-2024-49744 AI-generated analysis

platform/frameworks/base, services/core AccountManagerService (account authenticator KEY_INTENT validation)

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.

Hardens AccountManagerService.checkKeyIntent so that an authenticator-supplied KEY_INTENT is pinned to the activity component the system resolved and validated, and extends the Intent-subclass check in checkKeyIntentParceledCorrectly to the re-parceled copy.

Root cause

In services/core/java/com/android/server/accounts/AccountManagerService.java, checkKeyIntent resolves the Intent found under AccountManager.KEY_INTENT with pm.resolveActivityAsUser and verifies that the resolved activity is an exported system activity or shares signature capability (CertCapabilities.AUTH) with the authenticator. Before the fix it returned true without modifying the Intent, so the Intent left in the result Bundle was not bound to the activity that had been checked. In addition, checkKeyIntentParceledCorrectly only rejected the case where the original Intent object was a subclass of Intent (intent.getClass() != Intent.class) and did not apply the same check to simulateIntent, the copy obtained by writing and re-reading the Bundle through a Parcel.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to January 2025 · Findings