CVE-2023-21031
Medium · 4.7CVSS
4.7
EPSS
0.1%
Published
Mar 24, 2023
CISA due date
—
Cloudanix analysis
A bug in Android could let another app on the same phone read private information without asking for permission.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Data Exposure
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in setPowerMode of HWC2.cpp allows an out-of-bounds read, disclosing kernel or process memory contents to a local process without elevated privileges.
Why it matters to the business
Attackers with local access can silently extract sensitive data such as encryption keys, user credentials, or application state from affected Android devices, increasing risk of data theft on unpatched devices.
How an attack unfolds
A local attacker runs a malicious application that repeatedly invokes setPowerMode while racing against display hardware state changes, causing the out-of-bounds read to return adjacent memory contents that are then exfiltrated.
How to fix it
Upgrade affected Android-13 devices to the security patch level that resolves A-242688355. Apply vendor firmware updates as soon as they become available; where updates are delayed, restrict local app sideloading and monitor for anomalous local processes.
How to confirm the fix worked
Confirm the device reports a build ID containing the fix for A-242688355; attempt to reproduce the race in a lab environment on patched versus unpatched builds to verify the out-of-bounds read is no longer possible.
Typical attack path
- Obtain local code execution via installed app or ADB
- Trigger concurrent calls to setPowerMode from multiple threads
- Time the calls to win the race condition and read beyond allocated buffers
- Parse leaked memory for useful artifacts and transmit them to attacker-controlled infrastructure
How to detect it
Review Android system logs and dmesg for repeated power-mode state transitions originating from untrusted packages; correlate with unusual memory-access patterns or crashes in SurfaceFlinger/HWC processes.
What your security team should do
- Prioritize deployment of the March 2023 (or later) Android security bulletin to all Android-13 endpoints
- Enable verified boot and restrict developer options to reduce local attack surface
- Add Android version and patch-level checks to device compliance policies
The record
In setPowerMode of HWC2.cpp, there is a possible out of bounds read due to a race condition. 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-242688355
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/native | 13-next:0 | 13-next:2023-06-01 |
| Android | platform/frameworks/native | 13:0 | 13:2023-06-01 |
| Ubuntu:16.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:18.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:20.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:22.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:22.04:LTS | android-platform-tools | 0 | No fix |
| Ubuntu:24.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:24.04:LTS | android-platform-tools | 0 | No fix |
| Ubuntu:24.10 | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:24.10 | android-platform-tools | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | android-platform-frameworks-native | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | android-platform-frameworks-native | 0 | No fix |
Related vulnerabilities
- CVE-2023-21034 In multiple functions of SensorService.cpp, there is a possible access of accurate sensor… Also affects platform/frameworks/native
- CVE-2022-20502 In GetResolvedMethod of entrypoint_utils-inl.h, there is a possible use after free due to… Also affects android-platform-tools
- CVE-2022-20128 [Unknown description] Also affects android-platform-tools
- CVE-2026-92824 A flaw was found in libmodulemd. CWE-125
- CVE-2026-114038 A flaw was found in device-mapper-multipath. CWE-125
- CVE-2026-112896 Pillow is a Python imaging library. CWE-125
- CVE-2026-112278 rdesktop through 1.9.0 contains a heap out-of-bounds read vulnerability in… CWE-125
- CVE-2026-112273 libtins through 4.6 contains a heap out-of-bounds read vulnerability in DNS::compose_name… CWE-125