Android security tags, read closely by Lightrion

CVE-2025-48584 AI-generated analysis

platform/frameworks/base, NotificationManagerService (services/core/java/com/android/server/notification)

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 a per-listener cap (5,000) on the conversation channels a privileged NotificationListenerService can create for other packages via createConversationNotificationChannelForPackageFromPrivilegedListener, and adds null and edge-case checks in that method so it no longer hits NPEs in system_server.

Root cause

In NotificationManagerService.createConversationNotificationChannelForPackageFromPrivilegedListener, a privileged listener (one with a CDM association for the target package, or a notification assistant) could create conversation channels for other packages with no per-listener aggregate limit. The method also called .copy() directly on the results of mPreferencesHelper.getNotificationChannel(...) and getConversationNotificationChannel(...) without null checks, and did not check the resolved uid. Per the commit message, these edge conditions could result in NPEs. It also always re-created the conversation channel from the parent, which per the new code comment would override an existing conversation's customizations with the parent's values.

How the fix works

Completeness

Behavior changes

Per major

Unknowns

Back to December 2025 · Findings