Vulnerabilities Found in the Firmware of 25 Android Smartphone Models

Hits: 31

Mobile device

Last week, at the DEF CON security conference held in Las Vegas, security researchers presented details about 47 vulnerabilities in the firmware and default apps of 25 Android smartphone models, 11 of which are also sold in the US.

These vulnerabilities, embedded in full in the table at the bottom of this article, range from simple flaws that crash devices to dangerous bugs that grant attackers the ability to get root access on users’ devices.

Some of the most dangerous of these vulnerabilities allow an attacker to retrieve or send SMS texts from the user’s phone, take screenshots or record videos of the phone’s screen, retrieve the user’s contacts list, force the installation of third-party arbitrary apps without the user’s knowledge or consent, or even wipe the user’s data from the device.

Some big OEM brands listed

These vulnerabilities were discovered in both the default apps that come preinstalled on some devices by default (and are sometimes unremovable), but also in the firmware of core device drivers that can’t be removed without losing some of the phone’s functionality, if not access to the device as a whole.

US mobile and IoT security firm Kryptowire unearthed these vulnerabilities as part of a grant awarded by the Department of Homeland Security (DHS).

The smartphone brands (OEMs) included on Kryptowire’s list include big names such as ZTE, Sony, Nokia, LG, Asus, and Alcatel, but also smaller companies such as Vivo, SKY, Plum, Orbic, Oppo, MXQ, Leagoo, Essential, Doogee, and Coolpad.

“With the hundreds of mobile phone makes and models on the market and thousands of versions of firmware, best-effort manual testing and evaluations simply cannot scale to address the problem of identifying vulnerabilities in mobile phone pre-installed apps and firmware,” said Angelos Stavrou, CEO of Kryptowire, in a press release also announcing the release of a new enterprise-targeted platform for automatically testing the firmware and apps of Android mobile devices.

Some old names on the list

Some of the OEM brands are old acquaintances. For example, ZTE. Leagoo and Doogee have been listed in previous reports about insecure Android device makers. Devices from these two vendors were found on two different occasions [12] to come preinstalled with banking trojans.

Back in November 2016, Kryptowire also discovered a backdoor mechanism in the FOTA (Firmware Over The Air) update software system produced by Chinese firm Adups. That FOTA system was included in the firmware of many Android phone makers, and a year later was found to be still active, despite public disclosure.

Below are the vulnerabilities discovered by the Kryptowire team, and presented last week at DEF CON.

OEMModelOS VersionDescriptionAttack RequirementsBuild Fingerprint
ZTEZMAX Pro6.0.1Send text messagesLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEZMAX Pro6.0.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEZMAX Champ6.0.1A pre-installed app allows any app on the device to cause the device to get stuck in an unfixable recovery bootloop.Local app on the device without any permissionsZTE/Z917VL/fortune:6.0.1/MMB29M/20170327.120922:user/release-keys
ZTEZMAX Champ6.0.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsZTE/Z917VL/fortune:6.0.1/MMB29M/20170327.120922:user/release-keys
ZTEZMAX Pro6.0.1Obtain the numbers of contacts and numbers of people that the user has textedLocal app on the device without any permissionsZTE/P895T20/urd:6.0.1/MMB29M/20170418.114928:user/release-keys
ZTEBlade Spark7.1.1Obtain the logcat log which get written to the sdcard. This can be mined for user data. This does leave a sticky notification.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardZTE/Z971/peony:7.1.1/NMF26V/20171129.143111:user/release-keys
ZTEBlade Vantage7.1.1A pre-installed app allows any app on the device to make the system write the modem log to the sdcard. This contains the send and received text messages and the call data.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardZTE/Z839/sweet:7.1.1/NMF26V/20180120.095344:user/release-keys
VivoV77.1.2Record the screen and write it to app’s private directory. A notification and floating icon pop up initiatlly, but these can be quickly removed.Local app on the device that does not require any permissionsvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
VivoV77.1.2Obtain the kernel log and also the logcat log which get written to the sdcard. This can be mined for user data. This does leave a sticky notification.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
VivoV77.1.2Provides the capability to set system properties as the com.android.phone user. With this and vulnerability above, you can caputre the input of the user (where they touch the screen) and the bluetooth snoop log.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardvivo/1718/1718:7.1.2/N2G47H/compil11021857:user/release-keys
SonyXperia L17.0Take screenshot of the screen which can be used to examine the user’s notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barSony/G3313/G3313:7.0/43.0.A.6.49/2867558199:user/release-keys
SKYElite 6.0L+6.0Command execution as the system user via old version of Adups softwareLocal app on the device that does not require any permissionsSKY/x6069_trx_l601_sky/x6069_trx_l601_sky:6.0/MRA58K/1482897127:user/release-keys
PlumCompass6.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsPLUM/c179_hwf_221/c179_hwf_221:6.0/MRA58K/W16.51.5-22:user/release-keys
OrbicWonder7.1Pairing with the vulnerability above, the user can get the body of text messages and call data since the default messaging apps is in debug mode, so the telephony data is written to the log. The log is written to the sdcard so any app can use the vulnerability above to get this data.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OrbicWonder7.1.2A pre-installed app allows the user to obtain the logcat log that get written to the sdcard continuosly. The logcat log is not available to third-party apps since it contains sensitive user data. The user can start the app with so it will not show up in the recent apps list and then dismiss it by going to the home screen so it will not be accessible to the user. It will continuosly write the log file to the sdcard.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OrbicWonder7.1.2A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsOrbic/RC555L/RC555L:7.1.2/N2G47H/329100b:user/release-keys
OppoF57.1.1Surreptitiously audio record the user and write it to the sdcard. This does require the command execution as system user to copy the recording file.Local app on the device without any permissionsOPPO/CPH1723/CPH1723:7.1.1/N6F26Q/1513597833:user/release-keys
OppoF57.1.1Command execution as the system userLocal app on the device without any permissionsOPPO/CPH1723/CPH1723:7.1.1/N6F26Q/1513597833:user/release-keys
Nokia6 TA-10257.1.1Take screenshot of the screen which can be used to examine the user’s notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barNokia/TA-1025_00WW/PLE:7.1.1/NMF26F/00WW_3_32F:user/release-keys
MXQTV Box4.4.2A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsMBX/m201_N/m201_N:4.4.2/KOT49H/20160106:user/test-keys
MXQTV Box4.4.2Make the device non-functional. The device will not boot properly even after a factory reset. The device can likely be recovered by placing clean firmware images on the sdcard and flashing them.Local app on the device that does not require any permissionsMBX/m201_N/m201_N:4.4.2/KOT49H/20160106:user/test-keys
LGG67.0Can lock a user out of their own phone (even in safe mode) and the user will be forced to factory reset in recovery mode. The user may be able to unlock the device if they have ADB enabled prior to the locking of the screen and can figure out how to unlock it hich may be difficult for the average user. This acts as a Denial of Service attack and results in data loss if a factory reset occurs.Local app on the device that does not require any permissionslge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LGG67.0Obtain the logcat logs continuosly which are not available to third party apps since they leak senstive user data. The log file can be written to the app’s private directory by using path traversal.Local app on the device and INTERNET permission to send out the data.lge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LGG67.0Obtain the kernel log and also the logcat log which get written to the sdcard. This can be mined for user data. It also creates a file on the sdcard containing the phone IMEI and serial number.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardlge/lucye_nao_us_nr/lucye:7.0/NRD90U/17265155644e4:user/release-keys
LeagooZ5C6.0Read the last text message from each conversation. The last message will containt the phone number, text body, timestamp, and the contact’s name (if any)Local app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
LeagooP17.0Take screenshot of the screen which can be used to examine the user’s notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooP17.0Local root privilege escalation via ADB. The vendor allows read only properties to be modified. They could also peform this behavior to get root privileges.Physical access to deviceLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooP17.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsLEAGOO/t592_otd_p1/t592_otd_p1:7.0/NRD90M/1508151212:user/release-keys
LeagooZ5C6.0Send text messagesLocal app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
LeagooZ5C6.0A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionssp7731c_1h10_32v4_bird:6.0/MRA58K/android.20180125.183848:user/release-keys
EssentialEssential7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device that does not require any permissionsessential/mata/mata:7.1.1/NMJ88C/464:user/release-keys & essential/mata/mata:8.1.0/OPM1.180104.166/297:user/release-keys
DoogeeX56.0Video record of the screen. This capability can be used in a similar way as taking screenshots by opening apps that show the user’s messages. The recording is not transparent to the user.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the INTERNET permission to send out the dataDOOGEE/full_hct6580_weg_c_m/hct6580_weg_c_m:6.0/MRA58K/1479906828:user/test-keys
CoolpadRevvl Plus7.1.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadCanvas7.0Provides the capability to set system properties as the com.android.phone user.Local app on the device without any permissionsCoolpad/cp3636a/cp3636a:7.0/NRD90M/093031423:user/release-keys
CoolpadDefiant7.1.1Send text messagesLocal app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
CoolpadRevvl Plus7.1.1Provides the capability to set system properties as the com.android.phone user.Local app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadRevvl Plus7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadRevvl Plus7.1.1Send text messagesLocal app on the device without any permissionsCoolpad/alchemy/alchemy:7.1.1/143.14.171129.3701A-TMO/buildf_nj_02-206:user/release-keys
CoolpadCanvas7.0Obtain the logcat logs, kernel logs, and tcpdump capture which are written to the sdcard. This leaves a notification active. The logs contain the body of sent and received text messages.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardCoolpad/cp3636a/cp3636a:7.0/NRD90M/093031423:user/release-keys
CoolpadDefiant7.1.1A pre-installed app allows any app on the device to wipe all user data via a factory reset. There is no user intervention required and it will result in data loss.Local app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
CoolpadDefiant7.1.1Obtain all the text messages of the user and also insert, modify, and delete text messagesLocal app on the device without any permissionsCoolpad/cp3632a/cp3632a:7.1.1/NMF26F/099480857:user/release-keys
AsusZenFone 3 Max7.0A pre-installed app with an exposed interface allows any app on the phone to obtain a bugreport (kernel log, logcat log, dump of system services (includes text of active notifications), WiFi Passwords, and other system data gets written to the sdcard. The numbers for received and placed telephone calls show up in the log, as well as the sending and receving telephone numbers for text messages.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcardasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max7.0Arbitrary app installation over the internet. Then this app can also be uninstalled after it is run using the same interface.Local app on the device without any permissionsasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max7.0Take screenshot of the screen which can be used to examine the user’s notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and EXPAND_STATUS_BAR permission is needed to expand the status barasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys
AsusZenFone 3 Max & ZenFone V Live7.0Command execution as the system userLocal app on the device without any permissionsasus/US_Phone/ASUS_X008_1:7.0/NRD90M/US_Phone-14.14.1711.92-20171208:user/release-keys & asus/VZW_ASUS_A009/ASUS_A009:7.1.1/NMF26F/14.0610.1709.56-20171017:user/release-keys
AlcatelA307.0Take screenshot of the screen which can be used to examine the user’s notifications.Local app on the device with the READ_EXTERNAL_STORAGE permission to read from the sdcard and the EXPAND_STATUS_BAR permission is needed to expand the status barTCL/5046G/MICKEY6US:7.0/NRD90M/J63:user/release-keys
AlcatelA307.0Local root privilege escalation via ADB. The vendor allows read only properties to be modified. They could also peform this behavior to get root privileges. This was an Amazon Prime exclusive device.The user needs physical access to the device and needs to bypass the screen-lock if it existsTCL/5046G/MICKEY6US:7.0/NRD90M/J63:user/release-keys

bleepingcomputer