CVE-2024-29195
Azure C SDK Integer Wraparound Vulnerability
In short
A vulnerability in Azure's C communication library allows attackers to cause memory corruption through improperly validated buffer lengths, potentially leading to remote code execution on IoT devices. This affects devices using the Azure IoT C SDK to communicate with Azure IoT Hub.
Technical detail
Integer wraparound in buffer length parameter validation within azure-c-shared-utility enables heap buffer overflow. Attack requires compromised Azure account to send malformed AMQP/MQTT payloads exceeding IoT Hub's 128KB limit to vulnerable devices, with ability to write executable code to memory for RCE. Vulnerability tracked in CWE-120 (buffer copy without checking size of input).
Summary generated and translated by AI from the official description.
The azure-c-shared-utility is a C library for AMQP/MQTT communication to Azure Cloud Services. This library may be used by the Azure IoT C SDK for communication between IoT Hub and IoT Hub devices. An attacker can cause an integer wraparound or under-allocation or heap buffer overflow due to vulnerabilities in parameter checking mechanism, by exploiting the buffer length parameter in Azure C SDK, which may lead to remote code execution. Requirements for RCE are 1. Compromised Azure account allowing malformed payloads to be sent to the device via IoT Hub service, 2. By passing IoT hub service max message payload limit of 128KB, and 3. Ability to overwrite code space with remote code. Fixed in commit https://github.com/Azure/azure-c-shared-utility/commit/1129147c38ac02ad974c4c701a1e01b2141b9fe2.
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:L
Affected products
Azure · azure-c-shared-utilityWant to know if your infrastructure is exposed to this?
Talk to TrueHacking →