First published: Mon Nov 04 2019(Updated: )
A denial-of-service issue was discovered in the MQTT library in Arm Mbed OS 2017-11-02. The function readMQTTLenString() is called by the function MQTTDeserialize_publish() to get the length and content of the MQTT topic name. In the function readMQTTLenString(), mqttstring->lenstring.len is a part of user input, which can be manipulated. An attacker can simply change it to a larger value to invalidate the if statement so that the statements inside the if statement are skipped, letting the value of mqttstring->lenstring.data default to zero. Later, curn is accessed, which points to mqttstring->lenstring.data. On an Arm Cortex-M chip, the value at address 0x0 is actually the initialization value for the MSP register. It is highly dependent on the actual firmware. Therefore, the behavior of the program is unpredictable from this time on.
Credit: cve@mitre.org
Affected Software | Affected Version | How to fix |
---|---|---|
Arm Mbed MQTT | =2017-11-02 | |
Arm Mbed OS |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2019-17210 is classified as a denial-of-service vulnerability.
To fix CVE-2019-17210, update your Arm Mbed OS and MQTT library to a patched version.
CVE-2019-17210 affects the Arm Mbed OS and the Arm Mbed MQTT library version 2017-11-02.
The impact of CVE-2019-17210 is that it may allow a remote attacker to cause a denial of service.
As of now, there are no publicly known exploits specifically targeting CVE-2019-17210.