Android security tags, read closely by Lightrion

CVE-2026-28656 AI-generated analysis

platform/frameworks/base (services/autofill UI: AutoFillUI, FillUi, SaveUi, DialogFillUi, OverlayControl), platform/packages/apps/Settings (DeviceAdminAdd), platform/packages/apps/Car/Settings (DeviceAdminAddActivity, DeviceAdminAddHeaderPreferenceController), platform/packages/apps/TvSettings (DeviceAdminAdd)

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

Replaces the AppOps user-restriction based overlay suppression (OP_SYSTEM_ALERT_WINDOW / OP_TOAST_WINDOW toggled on show/hide or resume/pause) with the window-level Window#setHideOverlayWindows(true) / SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS flag. The change covers the autofill UI (FillUi, SaveUi, DialogFillUi) and the DeviceAdminAdd screens in Settings, Car Settings and TvSettings.

Root cause

Sensitive UIs protected themselves with AppOpsManager.setUserRestriction / setUserRestrictionForUser(OP_SYSTEM_ALERT_WINDOW and OP_TOAST_WINDOW, true, token). These UIs are the autofill fill, save and dialog UI in system_server, plus the device-admin activation screen in Settings, Car Settings and TvSettings. The restriction was set when the UI was shown (autofill OverlayControl.hideOverlays after show) or resumed (DeviceAdminAdd onResume), and cleared when the UI was hidden, destroyed or paused. Per the commit messages, this approach "didn't stop overlay window showing again without SYSTEM_ALERT_WINDOW permission when the restrictions are released". The protection was a system-wide AppOps toggle tied to lifecycle and show/hide calls, not a property of the protected window. Autofill applied it with UserHandle.USER_ALL.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to September 2026 · Findings