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.
azure-c-shared-utility es una librería C para la comunicación AMQP/MQTT con Azure Cloud Services. El SDK de Azure IoT C puede usar esta biblioteca para la comunicación entre IoT Hub y los dispositivos IoT Hub. Un atacante puede provocar una envoltura de enteros, una asignación insuficiente o un desbordamiento de búfer de almacenamiento dinámico debido a vulnerabilidades en el mecanismo de verificación de parámetros, al explotar el parámetro de longitud del búfer en Azure C SDK, lo que puede conducir a la ejecución remota de código. Los requisitos para RCE son 1. Cuenta de Azure comprometida que permite enviar payloads con formato incorrecto al dispositivo a través del servicio IoT Hub, 2. Pasando el límite máximo de payload de mensajes del servicio IoT Hub de 128 KB, y 3. Capacidad de sobrescribir el espacio de código con código remoto. Corregido en el commit https://github.com/Azure/azure-c-shared-utility/commit/1129147c38ac02ad974c4c701a1e01b2141b9fe2.