CVE-2023-40074
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Dec 4, 2023
CISA due date
—
Cloudanix analysis
A problem in Android can let someone with access to a phone or tablet make it stop working properly and stay broken even after restarting.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Invalid data passed to saveToXml in PersistableBundle.java causes persistent local denial of service by corrupting persistent state without requiring additional privileges or user interaction.
Why it matters to the business
Affected Android devices may become unusable until reset or restored, leading to downtime for users and organizations relying on mobile devices for operations.
How an attack unfolds
An attacker with local access on an Android device supplies crafted invalid data to PersistableBundle saveToXml, triggering a persistent DoS condition that survives reboots and requires no further privileges.
How to fix it
Apply the latest Android security patches from device vendors as soon as they become available; monitor for updates addressing PersistableBundle handling.
How to confirm the fix worked
Confirm the device is running a patched Android build by checking the security patch level in settings; test PersistableBundle serialization with known invalid inputs in a lab environment to verify DoS is prevented.
Typical attack path
- Obtain local access on a target Android device
- Identify or create an application or component that invokes PersistableBundle.saveToXml with attacker-controlled data
- Supply invalid data that triggers the flaw during XML serialization
- Persist the corrupted state to achieve denial of service across reboots
How to detect it
Review device logs for repeated failures during bundle serialization or XML persistence operations; look for crash reports or stability issues tied to system components handling PersistableBundle data.
What your security team should do
- Prioritize deployment of Android security updates across managed devices
- Monitor vendor announcements for fixes related to this DoS issue
- Limit local application installation privileges where possible to reduce attack surface
The record
In saveToXml of PersistableBundle.java, invalid data could lead to local persistent denial of service with no additional execution privileges needed. User interaction is not needed for exploitation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/frameworks/base | 11:0 | 11:2023-12-01 |
| Android | platform/frameworks/base | 12:0 | 12:2023-12-01 |
| Android | platform/frameworks/base | 12L:0 | 12L:2023-12-01 |
| Android | platform/frameworks/base | 13:0 | 13:2023-12-01 |
| Android | platform/frameworks/base | 14-next:0 | 14-next:2023-12-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-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-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