The flaw was found by security researchers from FireEye and was patched by Qualcomm in March. However, because the vulnerability was introduced five years ago, many affected devices are unlikely to ever receive the fix because they’re no longer supported by their manufacturers.
The vulnerability, which is tracked as CVE-2016-2060, is located on an Android component called “netd” that Qualcomm modified in order to provide additional tethering capabilities. Malicious applications could exploit the flaw in order to execute commands as the “radio” system user, which has special privileges.
Since Qualcomm chips are quite popular with handset manufacturers, the FireEye researchers estimate that hundreds of Android phone models are affected. And since there are over 1.4 billion active Android devices in the world, this likely means that the flaw is present in millions of devices.
According to a security advisory from the Qualcomm Innovation Center, the flaw affects all Android Jelly Bean, KitKat and Lollipop releases.
To exploit this vulnerability, a malicious application would only need the widely used “ACCESS_NETWORK_STATE” permission in order to access the API exposed by the modified Qualcomm service. This makes it hard to detect exploitation attempts.
“Any application could interact with this API without triggering any alerts,” said Jake Valletta from Mandiant, a subsidiary of FireEye, in a blog post. “Google Play will likely not flag it as malicious, and FireEye Mobile Threat Prevention (MTP) did not initially detect it. It’s hard to believe that any antivirus would flag this threat.”
Once the “radio” privilege is obtained, the malicious app can access the data of other applications running under the same user. This includes the stock Phone and Telephony Providers applications, which have access to text messages, call history and other sensitive data.
Devices running Android KitKat (4.4) and later are affected less than older devices because they come with the Security Enhancements for Android (SEAndroid) mechanism enabled in enforcing mode by default. This makes stealing other apps’ data through this flaw impossible.
On these newer Android versions, “the ‘netd’ context that the ‘/system/bin/radish’ executable runs as does not have the ability to interact with other ‘radio’ user application data, has limited filesystem write capabilities and is typically limited in terms of application interactions,” Valletta said.
However, a malicious application could still use the flaw to modify system properties, he said. “The impact here depends entirely on how the OEM is using the system property subsystem.”
Google included the CVE-2016-2060 vulnerability in its May Android security bulletin that was published Monday. The company rated it as high severity because “it can be used to gain elevated capabilities, such as Signature or SignatureOrSystem permissions privileges, which are not accessible to a third-party application.”