CVE-2022-20474
High · 7.8CVSS
7.8
EPSS
0.3%
Published
Dec 13, 2022
CISA due date
—
Cloudanix analysis
A flaw in how Android handles certain data objects lets an attacker already on the device secretly run their own code to take over system settings without needing extra permissions.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Application
- Class
- Privilege Escalation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw allows loading of arbitrary code into the System Settings app via a confused deputy in readLazyValue of Parcel.java, enabling local privilege escalation without additional privileges or user interaction.
Why it matters to the business
Attackers can gain elevated access on affected devices, potentially compromising system settings and user data; the low EPSS and lack of KEV listing reduce immediate widespread urgency, though the 1405 days since publication highlight long-term exposure in Android ecosystems.
How an attack unfolds
An attacker with local access crafts a malicious Parcel object that exploits the confused deputy in readLazyValue to inject and execute arbitrary code within the System Settings app, achieving privilege escalation directly on the device.
How to fix it
Upgrade affected Android versions to patched releases; for open-policy-agent/opa (GIT) instances, update to commit 9b5fb9b1d2feca3eb51da6a383ca25175ee58234.
How to confirm the fix worked
Verify device or package versions against fixed releases and test Parcel handling to confirm the confused deputy path is closed.
Typical attack path
- Obtain local access to the target Android device
- Craft a malicious Parcel object targeting readLazyValue
- Trigger the confused deputy condition to load arbitrary code
- Execute the loaded code to escalate privileges within System Settings
How to detect it
Review Android system logs and Parcel-related error entries for signs of unexpected code loading or privilege changes; check for anomalies in System Settings app behavior post-exploitation.
What your security team should do
- Prioritize patching Android devices to current versions
- Monitor for any local privilege escalation attempts in system logs
- Apply the specified OPA commit if using the listed package
The record
In readLazyValue of Parcel.java, there is a possible loading of arbitrary code into the System Settings app due to a confused deputy. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android-10 Android-11 Android-12 Android-12L Android-13Android ID: A-240138294
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/base | 10:0 | 10:2022-12-01 |
| Android | platform/frameworks/base | 11:0 | 11:2022-12-01 |
| Android | platform/frameworks/base | 12:0 | 12:2022-12-01 |
| Android | platform/frameworks/base | 12L:0 | 12L:2022-12-01 |
| Android | platform/frameworks/base | 13:0 | 13:2022-12-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