Android security tags, read closely by Lightrion

CVE-2024-34741 AI-generated analysis

platform/frameworks/base, WindowManager (services/core/java/com/android/server/wm/WindowState.java)

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

WindowState.setForceHideNonSystemOverlayWindowIfNeeded now classifies a window by getBaseType() instead of mAttrs.type. Per the commit title 'Hide SAW subwindows', this means subwindows of system-alert-window (SAW) or toast parents are also force-hidden when a top window hides overlays through Window#setHideOverlayWindows.

Root cause

setForceHideNonSystemOverlayWindowIfNeeded decided whether the 'hide non-system overlay windows' policy applies to a window by testing mAttrs.type against isSystemAlertWindowType() and TYPE_TOAST. A subwindow attached to a SAW parent has its own subwindow type, so the early return fired and the subwindow was not hidden. The TYPE_APPLICATION_OVERLAY system-overlay exemption was also evaluated on mAttrs.type. Per the commit message, SAW subwindows could therefore stay shown while the top window had overlays hidden through Window#setHideOverlayWindows.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to August 2024 · Findings