Android security tags, read closely by Lightrion

CVE-2025-26442 AI-generated analysis

platform/packages/apps/Settings, notification access confirmation (CDM flow), NotificationAccessConfirmationActivity

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

The Settings NotificationAccessConfirmationActivity now matches the requested notification listener against the full ComponentName of each resolved NotificationListenerService instead of only its package name, so the BIND_NOTIFICATION_LISTENER_SERVICE permission and intent-filter checks are applied to the exact requested service.

Root cause

In its setup code (the enclosing method is not shown), NotificationAccessConfirmationActivity validates the requested component (mComponentName) before it shows the notification-access confirmation dialog. It queries the services matching NotificationListenerService.SERVICE_INTERFACE for mUserId. It then loops over the results to check that the requested service declares android.permission.BIND_NOTIFICATION_LISTENER_SERVICE and appears in the NLS query result. The loop matched on service.serviceInfo.packageName.equals(mComponentName.getPackageName()), which compares only the package. The first service from that package in the result was the one checked. If it declared the permission, the loop broke with hasNLSIntentFilter = true, even when mComponentName referred to a different service in that package that does not itself declare the permission or the NLS intent filter.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to May 2025 · Findings