Android security tags, read closely by Lightrion

CVE-2025-26429 AI-generated analysis

platform/frameworks/base, services/core AppOps (com.android.server.appop.AppOpsService)

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 a cap of about 2000 (NUM_ATTRIBUTED_OP_ENTRY_THRESHOLD) on the total number of attributed op entries that AppOpsService packs into the OpEntry list returned for IAppOpsService#getPackagesForOpsForDevice, so the reply is less likely to exceed the binder transaction limit.

Root cause

The helper in AppOpsService.java that builds the List<OpEntry> result loops over pkgOps or over the requested ops[] array, calling getOpEntryForResult(curOp). It added every OpEntry with no limit. Each OpEntry carries its attributed op entries (per attribution tag). Per the commit message, when an app uses many attribution tags across many ops, the PackageOps payload for IAppOpsService#getPackagesForOpsForDevice exceeds the binder transaction limit. The new constant's Javadoc says the cap is there to avoid TransactionTooLargeException.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to May 2025 · Findings