Android security tags, read closely by Lightrion

CVE-2024-43762 AI-generated analysis

platform/frameworks/base, AppWidget service (services/appwidget AppWidgetServiceImpl) and core/java/android/widget/RemoteViewsAdapter

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

Adds ServiceConnection.onNullBinding() overrides to three service connections in the app widget stack (RemoteViewsAdapter and two anonymous connections in AppWidgetServiceImpl), so that a service whose onBind() returns null gets unbound.

Root cause

The ServiceConnection objects in AppWidgetServiceImpl called mContext.unbindService(this) only from onServiceConnected(), and the RemoteViewsAdapter connection did not override onNullBinding(). When the target service's onBind() returns null, the framework calls onNullBinding() instead of onServiceConnected(), so no unbind took place. In AppWidgetServiceImpl.destroyRemoteViewsService the bind uses mContext.bindServiceAsUser(intent, conn, BIND_AUTO_CREATE | BIND_FOREGROUND_SERVICE_WHILE_AWAKE, widget.provider.id.getProfile()) under Binder.clearCallingIdentity(), so a null-binding service was left bound with those flags. The second anonymous ServiceConnection in AppWidgetServiceImpl (hunk near line 2014) and the RemoteViewsAdapter connection also lacked onNullBinding. The bulletin rates this as a High severity EoP.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2024 · Findings