CVE-2024-0046
High · 7.8CVSS
7.8
EPSS
0.1%
Published
Mar 11, 2024
CISA due date
—
Cloudanix analysis
A flaw on certain phones lets an attacker who already has limited access secretly install extra apps and gain more control without the user noticing.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Logic error in installExistingPackageAsUser allows bypassing carrier restrictions to install packages as another user, resulting in unauthorized local privilege escalation.
Why it matters to the business
Compromised mobile devices may have unauthorized applications installed, increasing risk of data theft, persistent malware, or further attacks without user awareness.
How an attack unfolds
A malicious local application invokes the flawed method to bypass carrier package restrictions and install additional packages as a different user, achieving elevated privileges on the device.
How to fix it
Apply the vendor security update that resolves the logic error in InstallPackageHelper.java; verify device firmware includes the patch for this authorization bypass.
How to confirm the fix worked
Confirm the installed Android build contains the fix for the carrier restriction logic error; review patch release notes and perform regression testing of package installation flows.
Typical attack path
- Obtain local code execution via a malicious or compromised application
- Call installExistingPackageAsUser with crafted parameters to trigger the logic flaw
- Bypass carrier restrictions and install restricted packages as another user
- Escalate privileges and perform unauthorized actions on the device
How to detect it
Review system logs for unexpected calls to installExistingPackageAsUser or carrier restriction bypass events; examine package manager activity for installations without user interaction.
What your security team should do
- Prioritize deployment of the latest vendor security patches to all affected mobile devices
- Monitor for abnormal package installation attempts in device logs
- Restrict sideloading and carrier-specific app installation where possible
The record
In installExistingPackageAsUser of InstallPackageHelper.java, there is a possible carrier restriction bypass due to a logic error in the code. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/base | 12:0 | 12:2024-03-01 |
| Android | platform/frameworks/base | 12L:0 | 12L:2024-03-01 |
| Android | platform/frameworks/base | 13:0 | 13:2024-03-01 |
| Android | platform/frameworks/base | 14-next:0 | 14-next:2024-03-01 |
| Android | platform/frameworks/base | 14:0 | 14:2024-03-01 |
| Ubuntu:16.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:18.04:LTS | android-framework-23 | 0 | No fix |
| Ubuntu:18.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:20.04:LTS | android-framework-23 | 0 | No fix |
| Ubuntu:20.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:22.04:LTS | android-framework-23 | 0 | No fix |
| Ubuntu:22.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:24.04:LTS | android-framework-23 | 0 | No fix |
| Ubuntu:24.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:24.10 | android-framework-23 | 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-framework-23 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | android-platform-frameworks-base | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | android-framework-23 | 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-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
- CVE-2023-40073 In visitUris of Notification.java, there is a possible cross-user media read due to… Also affects platform/frameworks/base