Android security tags, read closely by Lightrion

CVE-2025-48621 AI-generated analysis

platform/frameworks/native (inputflinger InputDispatcher) and platform/frameworks/base (libs/WindowManager/Shell transition, DefaultTransitionHandler)

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

Two linked changes under bug 266433089: InputDispatcher stops delivering motion events to windows that use TouchOcclusionMode::USE_OPACITY while their alpha is below 0.5, and the WM Shell DefaultTransitionHandler lowers MAX_ANIMATION_DURATION from 3000 to 1500. The commit message frames this as reducing tapjacking risk during animations.

Root cause

InputDispatcher::canWindowReceiveMotionLocked checked targeted injection validity, PAUSE_DISPATCHING, NO_INPUT_CHANNEL, connection presence and responsiveness, but it never considered the window's alpha. A window declared opaque (touchOcclusionMode USE_OPACITY) therefore kept receiving touches even when its alpha was low, for example during a fade-out animation. Separately, DefaultTransitionHandler defined MAX_ANIMATION_DURATION as 3000. The commit message calls this "way too long, especially for tap jacking exploitation during animation".

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2025 · Findings