CVE-2023-21237
Medium · 5.5 CISA KEVCVSS
5.5
EPSS
0.3%
Published
Jun 28, 2023
CISA due date
Mar 26, 2024
Cloudanix analysis
Some Android 13 devices can let a malicious app hide the normal warning that it is running in the background, potentially allowing private activity to be monitored without the user noticing.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Other
- Class
- Information Disclosure
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
The flaw is a local Android 13 information disclosure issue in the notification rendering path, specifically around NotificationContentInflater.applyRemoteView. A locally installed app with normal user-level privileges can manipulate foreground service notification presentation so the expected persistent notification is hidden or misleading. Because foreground service notifications are an important user-visible privacy control for ongoing background activity, the bug can allow an app to continue sensitive background operations without the normal visual warning. The impact is confidentiality-focused; it does not directly provide code execution, privilege escalation, or denial of service, but it can make privacy-invasive collection harder for a user to notice.
Why it matters to the business
Organizations with Android 13 or affected Pixel/Android-derived device fleets may have reduced visibility into apps running background services, including potentially unwanted, spyware-like, or insider-installed applications. This can increase privacy, regulatory, and employee-trust risk if apps collect location, audio, camera, usage, or other sensitive data without the expected on-device notification. Although the EPSS probability is low, this issue is listed in CISA KEV with active exploitation and a remediation due date of 2024-03-26, so regulated or U.S. federal environments should treat it as overdue and prioritize patch verification. The supplied package metadata also references dgilland/pydash with a fixed Git commit, so software inventory teams should validate whether that dependency record is relevant to their asset set and remediate if present.
How an attack unfolds
An attacker first needs a malicious or repackaged app installed on the device; no additional runtime privilege escalation and no user interaction with the vulnerable notification path is required after the app is present. The app starts a foreground service, typically to keep execution alive while performing background activity. It then uses crafted notification RemoteViews or notification content that triggers the vulnerable handling in Android 13 NotificationContentInflater.applyRemoteView. Instead of reliably showing the required foreground service notification, the system UI can be caused to hide or misrepresent it. The attacker can then continue local data collection or monitoring under whatever permissions the app already has, while the user lacks the normal visible cue that a foreground service is active. Public reporting and KEV status indicate exploitation has occurred in the wild, including Android Pixel information disclosure activity, so detection should focus on vulnerable device exposure and suspicious local app behavior rather than network-only indicators.
How to fix it
Apply the Android/OEM security update that fixes this issue on all Android 13 affected devices, prioritizing Pixel and enterprise-managed Android fleets. Confirm the Android security patch level is at or beyond the vendor bulletin level that includes the fix for Android ID A-251586912 / NotificationContentInflater foreground service notification handling. Where immediate patching is not possible, restrict sideloading, enforce managed app allowlists, remove untrusted apps, limit apps with sensitive permissions and foreground service usage, and use MDM controls to block unknown sources and high-risk app categories. For the supplied package metadata, if dgilland/pydash from Git is present in software inventories, update to fixed commit 6ff0831ad285fff937cafd2a853f20cc9ae92021 or a later trusted revision, while separately validating the apparent product-mapping discrepancy against authoritative advisories.
How to confirm the fix worked
Validate remediation by confirming device patch status through MDM, EMM, Android Enterprise, or local device inventory, and ensure vulnerable Android 13 builds have received the OEM security update containing the fix. On representative devices, verify the Android security patch level and build fingerprint against the vendor bulletin. Test that apps starting foreground services produce visible, persistent foreground service notifications and that notification content cannot suppress or mislead the foreground service indicator. Review application inventory for sideloaded APKs, apps with foreground service declarations, and apps holding sensitive permissions such as location, microphone, camera, accessibility, notification listener, or device admin capabilities. For the supplied Git package metadata, validate by dependency lockfiles, SBOMs, or source control that dgilland/pydash is at commit 6ff0831ad285fff937cafd2a853f20cc9ae92021 or later if that package is actually in scope.
Typical attack path
- Attacker distributes a malicious, trojanized, or policy-abusing Android app through sideloading, social engineering, an untrusted app store, or compromised app supply chain.
- The app is installed on an Android 13 device and receives any permissions needed for its intended data collection or monitoring behavior.
- The app starts a foreground service to maintain ongoing execution.
- The app supplies crafted notification content or RemoteViews that exercise the vulnerable notification inflation path.
- Android System UI fails to display the foreground service notification accurately, hiding or misleading the user about ongoing background activity.
- The app continues collecting or processing sensitive local information while the normal user-visible warning is absent or reduced.
- The attacker retrieves or uses the collected information through the app’s existing local or network capabilities.
How to detect it
There are no reliable remote network indicators that uniquely identify exploitation of this issue. Detection should focus on endpoint/mobile telemetry and forensic review of app behavior. Collect MDM/EMM inventory for Android 13 devices with vulnerable or unknown patch levels. Review installed APKs for sideloaded origin, recent install time, foreground service declarations, and sensitive permissions. On devices available for forensic analysis, compare active foreground services with notification state using Android bugreports, logcat, dumpsys activity services, dumpsys notification, app ops history, battery usage, and usage stats. Look for apps that started or maintained foreground services without corresponding visible notifications, especially apps with CAMERA, RECORD_AUDIO, ACCESS_FINE_LOCATION, ACCESS_BACKGROUND_LOCATION, READ_SMS, notification listener, accessibility, VPN, or device admin privileges. Android logs are often short-lived, so absence of evidence is not proof of non-exploitation. Mobile threat defense, EDR-for-mobile, Play Protect, app reputation, and network telemetry should be used to identify suspicious apps and follow-on data exfiltration, but they will not prove exploitation of this UI flaw by themselves.
What your security team should do
- Treat this as a priority mobile patching item because it is in CISA KEV and the remediation deadline has passed, even though the EPSS score is low.
- Inventory Android 13 and Pixel/Android-derived devices and verify they are running a security patch level that includes the vendor fix.
- Use MDM/EMM controls to block sideloading and remove unknown, untrusted, or unnecessary apps from managed devices.
- Hunt for apps that use foreground services together with sensitive permissions, especially recently installed apps, sideloaded apps, or apps outside approved enterprise distribution channels.
- Review mobile threat defense telemetry for apps with suspicious background activity, accessibility abuse, notification listener access, device admin registration, or unexpected network exfiltration.
- Educate help desk and mobile operations teams that missing or misleading foreground service notifications on unpatched devices may indicate exploitation or abuse.
- Where dgilland/pydash appears in SBOM or dependency inventory, validate the mapping and update to commit 6ff0831ad285fff937cafd2a853f20cc9ae92021 or later if applicable.
The record
In applyRemoteView of NotificationContentInflater.java, there is a possible way to hide foreground service notification due to misleading or insufficient UI. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android-13Android ID: A-251586912
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/base | 13-next:0 | 13-next:2023-06-01 |
| Android | platform/frameworks/base | 13:0 | 13:2023-06-01 |
Related vulnerabilities
- CVE-2025-48631 In onHeaderDecoded of LocalImageResolver.java, there is a possible persistent denial of… Also affects platform/frameworks/base
- CVE-2024-32896 there is a possible way to bypass due to a logic error in the code. Also affects platform/frameworks/base
- CVE-2024-0053 In getCustomPrinterIcon of PrintManagerService.java, there is a possible way to view… Also affects platform/frameworks/base
- CVE-2024-0048 In Session of AccountManagerService.java, there is a possible method to retain foreground… Also affects platform/frameworks/base
- CVE-2024-0046 In installExistingPackageAsUser of InstallPackageHelper.java, there is a possible carrier… Also affects platform/frameworks/base
- CVE-2023-40094 In keyguardGoingAway of ActivityTaskManagerService.java, there is a possible lock screen… Also affects platform/frameworks/base
- CVE-2023-40074 In saveToXml of PersistableBundle.java, invalid data could lead to local persistent… Also affects platform/frameworks/base
- CVE-2023-35668 In visitUris of Notification.java, there is a possible way to display images from another… Also affects platform/frameworks/base