Android security tags, read closely by Lightrion

CVE-2024-49741 AI-generated analysis

platform/frameworks/base, system_server AppWidgetService (services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.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 (7 corrections). Verify against the commit before relying on it.

Adds hard caps in AppWidgetServiceImpl of 20 hosts per (uid, package) and 200 widgets per host, evicting the oldest host or widget before a new one is added so an app cannot grow the service's host/widget state without bound.

Root cause

AppWidgetServiceImpl kept every Host created for a calling package in mHosts and every Widget in mWidgets with no upper bound. The host lookup/creation path simply did `host = new Host(); host.id = id; mHosts.add(host)` whenever a HostId was not already known, and addWidgetLocked unconditionally did `mWidgets.add(widget)`. A single package could therefore create an arbitrary number of host ids and an arbitrary number of widgets per host, growing the service's in-memory state. The bulletin classifies this as a High severity DoS.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to February 2025 · Findings