A vulnerability in Qualcomm chips could be exploited by attackers to retrieve encryption keys and sensitive information from the chipsets’ secure execution environment, NCC Group researchers have found.
The security of Trusted Execution Environments (TEEs) such as ARM TrustZone, which are widely used in both mobile and embedded devices and often share the same computational hardware as untrusted code, has been previously probed but not extensively.
NCC Group researchers decided to specifically test the implementation of ECDSA signing in a particular version of Qualcomm’s Secure Execution Environment (QSEE) and they ended up identifying a series of vulnerabilities, collectively identified as CVE-2018-11976.
By using a tool dubbed Cachgrab, they were able to simultaneously mount a number of attacks against memory caches, successfully extract cryptographic information and fully recover a 256-bit private key from Qualcomm’s version of the hardware-backed keystore.
Additional and very detailed information about their research and findings can be found in this recently released paper.
The researchers performed their tests on the Android-running Nexus 5X smartphone, but Qualcomm confirmed that the same vulnerability affect over 30 different chipsets (the complete list can be found here) and, therefore, can be used to compromise the security of a wide variety of smartphones and tablets. In fact, if you use an Android-powered device, chances are good it uses one of these chips.
What’s important for end users to know is that since being notified of the bug in March 2018, Qualcomm has proceeded to patch the firmware of all the affected chipsets and has notified affected OEMs and carriers.
Google has implemented the fixes in the Android April 2019 security update and, hopefully soon, other OEMs and carriers will deliver them too.
It’s good to note that for the attacks to be successful the attacker must achieve root access on the target device but, unfortunately, this can be achieved through already existing (and not that rare) malware.