CVE-2023-21244
Medium · 6.7CVSS
6.7
EPSS
0.1%
Published
Oct 6, 2023
CISA due date
—
Cloudanix analysis
A problem in how Android handles notifications lets an app with basic access reach data meant for other users on the same device.
- Exploitation
- Local Privilege
- Attacker needs
- High Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing permission check in visitUris of Notification.java allows an app running with User privileges to bypass user profile boundaries and access or manipulate data across profiles.
Why it matters to the business
Attackers with limited local access can gain elevated control over device functions and data belonging to other users on shared Android devices, increasing risk of data exposure or unauthorized actions without user interaction.
How an attack unfolds
An attacker with an app installed under a standard user profile crafts a notification containing URIs that target another profile; the missing permission validation in visitUris permits the operation to succeed, resulting in unauthorized cross-profile access and privilege escalation.
How to fix it
Apply the latest Android security patches from Google that address the missing permission check in Notification handling; monitor vendor update channels for affected device models and deploy updates as soon as available.
How to confirm the fix worked
Confirm devices are running patched Android builds by checking build fingerprints or security patch levels; review source code or binary analysis of Notification.java to verify permission checks are present around visitUris calls.
Typical attack path
- Obtain User execution privileges on an Android device via installed application
- Trigger visitUris processing in Notification.java with specially crafted URIs referencing another user profile
- Bypass the absent permission check to perform actions across profile boundaries
- Escalate to higher privileges within the target profile
How to detect it
Examine Android system logs and notification-related audit trails for anomalous cross-profile URI access attempts; review app behavior logs for unexpected profile boundary crossings.
What your security team should do
- Prioritize deployment of Android security updates across the fleet
- Restrict installation of untrusted applications on shared or multi-user devices
- Monitor for new exploit maturity indicators or public proof-of-concept releases
The record
In visitUris of Notification.java, there is a possible bypass of user profile boundaries due to a missing permission check. This could lead to local escalation of privilege with User execution privileges needed. User interaction is not needed for exploitation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/base | 11:0 | 11:2023-10-01 |
| Android | platform/frameworks/base | 12:0 | 12:2023-10-01 |
| Android | platform/frameworks/base | 12L:0 | 12L:2023-10-01 |
| Android | platform/frameworks/base | 13:0 | 13:2023-10-01 |
| Android | platform/frameworks/base | 14-next:0 | 14-next:2023-10-01 |
| Ubuntu:16.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:18.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:20.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:22.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:24.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:24.10 | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | android-platform-frameworks-base | 0 | No fix |
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