CVE-2023-35683
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Sep 11, 2023
CISA due date
—
Cloudanix analysis
A problem in Android lets one app secretly read files that belong to other apps on the same phone without needing extra permissions.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- SQL Injection
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw is a SQL injection in bindSelection of DatabaseUtils.java that permits construction of queries capable of reading files outside the calling application's sandbox, resulting in local information disclosure.
Why it matters to the business
Allows one application on an Android device to silently access data belonging to other applications, increasing risk of privacy violations and potential exposure of sensitive user information across the device ecosystem.
How an attack unfolds
An attacker with the ability to execute code on the device supplies a malicious selection argument to the vulnerable bindSelection method; the resulting SQL injection bypasses normal path and permission checks, returning file contents from other applications without user interaction or elevated privileges.
How to fix it
Apply the security update that corrects the SQL injection in DatabaseUtils.java; upgrade affected Android devices to the patched release once available from the device manufacturer.
How to confirm the fix worked
Inspect source or binary usage of bindSelection for untrusted input, then attempt controlled injection payloads in a test environment to verify whether file paths outside the sandbox can be accessed.
Typical attack path
- Gain ability to execute code within a local application context
- Identify call sites that invoke DatabaseUtils.bindSelection with attacker-controlled input
- Craft a selection string containing SQL syntax to escape intended query boundaries and reference external files
- Trigger the query and retrieve file contents from other applications
How to detect it
Review Android application and system logs for unexpected database query patterns or file-access attempts that reference paths outside an application's own data directory; correlate with process execution originating from untrusted packages.
What your security team should do
- Expedite deployment of Android security patches to all managed devices
- Audit internal and third-party applications for direct or indirect use of the affected database utility methods
- Implement runtime monitoring for anomalous cross-application file reads on Android endpoints
The record
In bindSelection of DatabaseUtils.java, there is a possible way to access files from other applications due to SQL injection. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | platform/packages/providers/MediaProvider | 11:0 | 11:2023-09-01 |
| Android | platform/packages/providers/MediaProvider | 12:0 | 12:2023-09-01 |
| Android | platform/packages/providers/MediaProvider | 12L:0 | 12L:2023-09-01 |
| Android | platform/packages/providers/MediaProvider | 13-next:0 | 13-next:2023-09-01 |
| Android | platform/packages/providers/MediaProvider | 13:0 | 13:2023-09-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-2024-0053 In getCustomPrinterIcon of PrintManagerService.java, there is a possible way to view… Also affects android-platform-frameworks-base
- CVE-2024-0048 In Session of AccountManagerService.java, there is a possible method to retain foreground… Also affects android-platform-frameworks-base
- CVE-2024-0046 In installExistingPackageAsUser of InstallPackageHelper.java, there is a possible carrier… Also affects android-platform-frameworks-base
- CVE-2023-40094 In keyguardGoingAway of ActivityTaskManagerService.java, there is a possible lock screen… Also affects android-platform-frameworks-base
- CVE-2023-40074 In saveToXml of PersistableBundle.java, invalid data could lead to local persistent… Also affects android-platform-frameworks-base
- CVE-2023-35668 In visitUris of Notification.java, there is a possible way to display images from another… Also affects android-platform-frameworks-base
- CVE-2023-40073 In visitUris of Notification.java, there is a possible cross-user media read due to… Also affects android-platform-frameworks-base
- CVE-2023-21244 In visitUris of Notification.java, there is a possible bypass of user profile boundaries… Also affects android-platform-frameworks-base