CVE-2019-15345 in Camon iClick
Summary
by MITRE
The Tecno Camon iClick Android device with a build fingerprint of TECNO/H633/TECNO-IN6:8.1.0/O11019/A-180409V96:user/release-keys contains a pre-installed platform app with a package name of com.lovelyfont.defcontainer (versionCode=7, versionName=7.0.8). This app contains an exported service named com.lovelyfont.manager.service.FunctionService that allows any app co-located on the device to supply the file path to a Dalvik Executable (DEX) file which it will dynamically load within its own process and execute in with its own system privileges. This app cannot be disabled by the user and the attack can be performed by a zero-permission app. Executing commands as the system user can allow a third-party app to video record the user's screen, factory reset the device, obtain the user's notifications, read the logcat logs, inject events in the Graphical User Interface (GUI), and obtains the user's text messages, and more. Executing code as the system user can allow a third-party app to factory reset the device, obtain the user's Wi-Fi passwords, obtain the user's notifications, read the logcat logs, inject events in the GUI, change the default Input Method Editor (IME) (e.g., keyboard) with one contained within the attacking app that contains keylogging functionality, and obtains the user's text messages, and more.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 02/14/2024
This vulnerability exists in the Tecno Camon iClick Android device running Android 8.1.0 with build fingerprint TECNO/H633/TECNO-IN6:8.1.0/O11019/A-180409V96:user/release-keys. The issue stems from a pre-installed platform application named com.lovelyfont.defcontainer version 7.0.8 which contains an exported service called com.lovelyfont.manager.service.FunctionService. This service presents a critical security flaw that allows any application co-located on the device to dynamically load and execute arbitrary DEX files within the system process context. The vulnerability is classified as a privilege escalation issue under CWE-276, specifically involving improper privilege management and insecure platform services.
The technical implementation of this vulnerability involves the exported service FunctionService which accepts file paths to Dalvik Executable files and executes them within its own process with system-level privileges. Since this application cannot be disabled by users and the attack requires no special permissions, any third-party application on the device can exploit this service to gain system-level access. The attack vector operates through the Android Binder IPC mechanism, where the malicious application communicates with the vulnerable service without requiring user consent or elevated privileges. This represents a fundamental breakdown in Android's security model where platform applications should not expose services that can be leveraged for privilege escalation.
The operational impact of this vulnerability is severe and encompasses multiple attack surface areas that align with several ATT&CK techniques including privilege escalation, credential access, and persistence. An attacker with access to this vulnerability can execute commands as the system user, enabling capabilities such as screen recording, device factory resetting, notification access, logcat reading, GUI event injection, and text message interception. More critically, the system-level privileges allow for Wi-Fi password extraction, notification monitoring, and keyboard replacement with malicious input method editors that can capture keystrokes. The vulnerability essentially provides a backdoor for complete device compromise, as demonstrated by the ATT&CK technique T1056.001 for input injection and T1003.001 for credential dumping.
Mitigation strategies should focus on both immediate and long-term solutions. Immediate remediation requires device manufacturers to remove or disable the vulnerable exported service through firmware updates, as the vulnerability cannot be addressed through user-level security settings. The service should be restricted to only system-level applications using proper Android permission controls and the android:exported attribute should be set to false. Long-term security improvements include implementing proper code signing verification for dynamically loaded components, employing Android's security sandboxing mechanisms, and conducting comprehensive security audits of pre-installed platform applications. The vulnerability highlights the importance of secure coding practices and proper privilege management as outlined in OWASP mobile top 10 and Android security best practices, particularly addressing CWE-427 and CWE-787 which relate to insecure service exposure and buffer overflows in system components.