Android security tags, read closely by Lightrion

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

Adds a check in AccountManagerService's getAuthToken result handler that rejects an authenticator response whose KEY_ACCOUNT_TYPE differs from the session's account type, returning ERROR_CODE_INVALID_RESPONSE instead of storing the token.

Root cause

In AccountManagerService.java, the getAuthToken Session's onResult(Bundle result) built an Account from the KEY_ACCOUNT_NAME and KEY_ACCOUNT_TYPE strings returned by the AbstractAccountAuthenticator. When customTokens was false, it passed that resultAccount to saveAuthTokenToDatabase. The only validation was that name and type were non-empty. The commit message says the service already knows which account getAuthToken is called for, but the code did not check that the returned type matched the session's mAccountType. As a result, the authenticator could have an auth token recorded under an account of a different type.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2025 · Findings