Android security tags, read closely by Lightrion

CVE-2025-26418 AI-generated analysis

platform/packages/services/Car, CarDevicePolicyService (car admin / device policy)

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 MANAGE_USERS-or-INTERACT_ACROSS_USERS permission check to CarDevicePolicyService.setUserDisclaimerAcknowledged and a matching @RequiresPermission annotation on CarDevicePolicyManager. Callers without either permission can no longer have the car service acknowledge the new-user disclaimer.

Root cause

ICarDevicePolicyService.setUserDisclaimerAcknowledged(int userId) in service/src/com/android/car/admin/CarDevicePolicyService.java did not check the caller's permissions. For any userId the caller passed in, it set the internal disclaimer status to NEW_USER_DISCLAIMER_STATUS_ACKED, cancelled the user disclaimer notification and called DevicePolicyManager.acknowledgeNewUserDisclaimer() through the car service's own context (mContext.createContextAsUser(user, 0)). Per index search, DevicePolicyManagerService.acknowledgeNewUserDisclaimer itself requires canManageUsers or INTERACT_ACROSS_USERS. That check applies to the car service as the caller, so other apps could acknowledge the disclaimer indirectly through the car service. The commit message describes this as 'previously allowed other apps to call it indirectly'.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2026 · Findings