Researchers from Checkpoint have discovered a buffer overflow vulnerability, tracked as CVE-2020-11292, in the Qualcomm Mobile Station Modem that can be exploited by attackers to trigger memory corruption and execute arbitrary code on the smartphone.
Mobile Station Modem (MSM) is a system on chips (SoC) designed by Qualcomm starting in the early 1990s, over the years, security researchers have often targeted this component to find a new way to remotely attack a mobile device, for example by sending an SMS or crafted radio packet.
The SoC has been updated across the years to support 2G, 3G, 4G, and 5G cellular communications.
Devices that use Qualcomm MSM chips today include high-end smartphone models sold by Google, Samsung, LG, Xiaomi, and One Plus, just to name a few.
The vulnerability resides in Qualcomm MSM Interface (QMI), a proprietary protocol used to communicate between software components in the modem and other peripheral subsystems.
An attacker could trigger the issue by sending malformed Type-Length-Value (TLV) packets to the MSM component via the QMI interface, he can the packets inside radio communications or multimedia content sent to the device, which is parsed by the vulnerable QMI interface.
“The qmi_voicei_srvcc_call_config_req function begins its execution by parsing the TLV payload. It does not use the QMI framework to convert the payload to a C structure.” reads the post published by CheckPoint.
“If the type of a TLV packet is equal to 1, the value is interpreted as the following:
To process this packet, the handler allocates 0x5B90 bytes on the modem heap, extracts the number of calls from the payload into the allocated buffer at offset 0x10, and then loops to fetch all call contexts into the buffer starting at offset 0x12. Due to the lack of checking for the maximum number of calls, it is possible to pass the value 0xFF in the number of calls field and thus overwrite in the modem heap up to 0x12 + 0x160 * 0xFF – 0x5B90 = 0x10322 bytes.”
Qualcomm had addressed the issue in December, but at the time of this writing it is not clear who has applied the patches.
Below the timeline for this vulnerability:
|October 8, 2020||Bug report and POC sent to Qualcomm.|
|October 8, 2020||Qualcomm acknowledges the report and assigns it QPSIIR-1441 for tracking.|
|October 15, 2020||Qualcomm confirms the issue and names it a High rated vulnerability.|
|February 24, 2021||Check Point requests the CVE-ID for this issue and acknowledges that the disclosure date is April 2021.|
|February 24, 2021||Qualcomm informs Check Point that the CVE-ID will be CVE-2020-11292.|
|May 6, 2021||Public disclosure.|
“QMI is present on approximately 30% of all mobile phones in the world but little is known about its role as a possible attack vector.” concludes the report. “We discovered a vulnerability in a modem data service that can be used to control the modem and dynamically patch it from the application processor. An attacker can use such a vulnerability to inject malicious code into the modem from Android. This gives the attacker access to the user’s call history and SMS, as well as the ability to listen to the user’s conversations. A hacker can exploit the vulnerability to unlock the SIM, thereby overcoming the limitations of the service providers imposed on the mobile device.”
(SecurityAffairs – hacking, Qualcomm)