Android security tags, read closely by Lightrion

CVE-2025-48607 AI-generated analysis

platform/frameworks/base, AppOps (AppOpsService / AppOpsManager / IAppOpsService.aidl)

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

Changes the IAppOpsService.getPackagesForOpsForDevice binder method to return a ParceledListSlice<AppOpsManager.PackageOps> instead of a plain List, so that large result sets are paginated across binder transactions instead of overflowing a single one.

Root cause

AppOpsService.getPackagesForOpsForDevice(int[] ops, String persistentDeviceId) built a List<AppOpsManager.PackageOps> and returned it in a single binder reply. Per the commit message, an earlier fix (ag/31434165) capped the number of attributed op entries per package, but the number of packages in the reply was still unbounded. A PoC app created attributed op entries for hundreds of packages, which caused TransactionTooLargeException in the getPackagesForOpsForDevice binder API. The commit message says SystemUI crashed, and implies the device failed to boot, since it says the device could boot after the fix.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2025 · Findings