Android security tags, read closely by Lightrion

CVE-2025-48602 AI-generated analysis

platform/frameworks/base, SystemUI keyguard (KeyguardViewMediator)

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.

KeyguardViewMediator now drops any queued START_KEYGUARD_EXIT_ANIM message on user switch and, when the exit animation has been flagged as canceled, the post-traversal completion callback finishes the remote animation with the keyguard showing and forces the showing state instead of only logging and returning.

Root cause

In packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java, a user switch (setCurrentUser on Android 14) removed pending DISMISS and HIDE messages and, for a secure target user, set mIsKeyguardExitAnimationCanceled, but it did not remove a queued START_KEYGUARD_EXIT_ANIM message, so an exit animation requested before the switch could still start afterwards. In addition, in exitKeyguardAndFinishSurfaceBehindRemoteAnimation the runnable posted via DejankUtils.postAfterTraversal only logged and returned when mIsKeyguardExitAnimationCanceled was true; it neither finished the remote animation with the keyguard showing (finishSurfaceBehindRemoteAnimation(true)) nor forced the mediator showing state back to true.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to March 2026 · Findings