Android security tags, read closely by Lightrion

CVE-2026-0005 AI-generated analysis

platform/frameworks/base, WindowManager lock task (LockTaskController / ActivityTaskManagerService) plus keyguard (SystemUI KeyguardViewMediator, system_server KeyguardServiceDelegate)

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

Adds IActivityTaskManager.rebuildSystemLockTaskPinnedMode() (gated by enforceTaskPermission) that re-applies the recents, task-change-listener, status bar and keyguard state of app pinned mode for the existing locked task, has SystemUI's KeyguardViewMediator call it when ATMS reports LOCK_TASK_MODE_PINNED, and makes KeyguardServiceDelegate keep the keyguard enabled flag across a keyguard service disconnect, so that the device stays in app pinned mode upon a SystemUI crash.

Root cause

In app pinned mode, LockTaskController keeps mLockTaskModeState == LOCK_TASK_MODE_PINNED and the task in mLockTaskModeTasks, and the restrictions (status bar via setStatusBarState, keyguard via setKeyguardState, recents and task-change notifications) are applied when the mode is entered (the tests show each called once by startLockTaskMode). Before the fix nothing re-applied them after a SystemUI crash while system_server still considered the device pinned. In addition, KeyguardServiceDelegate.onServiceDisconnected called mKeyguardState.reset() without preserving the enabled flag; the fix's save/restore implies the reset could lose a disabled keyguard state that onServiceConnected replays via `if (!mKeyguardState.enabled) setKeyguardEnabled(...)`.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2026 · Findings