Android security tags, read closely by Lightrion

CVE-2025-48552 AI-generated analysis

platform/frameworks/base, DevicePolicyManagerService (services/devicepolicy), global HTTP proxy handling

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.

Wraps the three Settings.Global proxy writes in DevicePolicyManagerService.saveGlobalProxyLocked in a try/catch, so an exception from SettingsProvider while applying a device admin's global proxy no longer aborts the caller (for example the removal of an ActiveAdmin).

Root cause

saveGlobalProxyLocked(String proxySpec, String exclusionList) parses an admin's global proxy spec and checks ProxyInfo.isValid(). It then calls mInjector.settingsGlobalPutString/PutInt for GLOBAL_HTTP_PROXY_HOST, GLOBAL_HTTP_PROXY_PORT and GLOBAL_HTTP_PROXY_EXCLUSION_LIST with no exception handling. If SettingsProvider threw while storing one of these values, the exception propagated out of saveGlobalProxyLocked into its caller. That caller iterates admins, applies the proxy of the first admin with specifiesGlobalProxy set, or otherwise resets the proxy to null. Per the commit message, this broke callers performing security-sensitive operations such as removing an ActiveAdmin.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2025 · Findings