Android security tags, read closely by Lightrion

CVE-2026-0026 AI-generated analysis

platform/frameworks/base, services/core PermissionManagerService (permission registry)

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

Adds an early return in PermissionManagerServiceImpl.removePermission() so that a non-dynamic permission is no longer removed from the permission registry after the "not allowed to modify non-dynamic permission" condition is detected.

Root cause

In services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java, removePermission() looks up the Permission and, if !bp.isDynamic(), only emits Slog.wtf("Not allowed to modify non-dynamic permission ...") (a TODO says to switch this back to SecurityException). Control then fell through to mRegistry.removePermission(permName) and mPackageManagerInt.writeSettings(false). So a caller that passed enforcePermissionTree() could remove a non-dynamic permission from the registry, although the commit states that only dynamic permissions may be removed.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2026 · Findings