Android security tags, read closely by Lightrion

CVE-2026-28577 AI-generated analysis

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

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

WindowManagerService.addWindow now rejects a TYPE_TOAST window with ADD_BAD_APP_TOKEN when addToastWindowRequiresToken is true and the target WindowToken already contains a window, enforcing one toast window per toast token.

Root cause

In WindowManagerService.addWindow, the only toast-specific guard in the `type == TYPE_TOAST` block was displayContent.canAddToastWindowForUid(callingUid), which limits toasts per calling UID. Nothing in that block checked whether the supplied WindowToken already held a window, even though a TYPE_TOAST WindowToken is meant to hold only one toast window (the comment added by the fix says so). A caller from a different UID that presented the same toast token passed the per-UID check and could attach a second toast window to that token. The added test testAddToastWindow_singleWindowPerToken shows this ("Add second window with same token but different UID to bypass the canAddToastWindowForUid check").

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to June 2026 · Findings