Android security tags, read closely by Lightrion

CVE-2024-23705 AI-generated analysis

platform/frameworks/base, UserManagerService / UserManager / ConfirmUserCreationActivity (multi-user, seed account data)

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.

Adds string-length limits for user name, seed account name/type and seed accountOptions so that an oversized PersistableBundle is dropped in UserManagerService.setSeedAccountData and rejected in ConfirmUserCreationActivity instead of being persisted, where per the PersistableBundle comment an over-long string makes the XML write throw.

Root cause

UserManagerService.setSeedAccountData stored the caller-supplied accountOptions PersistableBundle into userData.seedAccountOptions with no check on the length of its String keys/values (only seedAccountName/seedAccountType and the user name were truncated to a 500-char MAX_USER_STRING_LENGTH). The new PersistableBundle comment states that strings longer than 65535 characters cannot be saved to XML as part of a bundle and an IOException is thrown, so persisting the user record with an oversized bundle fails. Per the commit message, this resulted in a user being created with no restrictions. ConfirmUserCreationActivity also passed user name, account name, account type and accountOptions through without any length check.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to May 2024 · Findings