🇰🇷 한글 설명
azure-c-shared-utility 라이브러리의 매개변수 검증 메커니즘 결함으로 인해 정수 오버플로 또는 힙 버퍼 오버플로가 발생할 수 있습니다. 공격자가 조작된 페이로드를 전송할 경우 원격 코드 실행(RCE)이 가능할 수 있습니다.
💡 쉬운 설명
Azure IoT 기기와 통신하는 라이브러리에 데이터 크기를 잘못 계산하는 오류가 있습니다. 해커가 특수한 데이터를 보내면 기기의 제어권을 뺏을 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
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 (Azure IoT C SDK에서 사용되는 버전)
⚔️ 공격 벡터
탈취된 Azure 계정을 통해 IoT Hub를 거쳐 조작된 페이로드를 기기로 전송
🛡️ 대응 방법
GitHub의 commit 1129147c38ac02ad974c4c701a1e01b2141b9fe2가 적용된 최신 버전으로 업데이트
🔧 검증 코드
명령어 결과에 해당 커밋 해시값이 포함되어 있으면 패치가 완료된 상태이며, 그렇지 않으면 취약할 수 있습니다.
git log -1 --format=%H | grep 1129147c38ac02ad974c4c701a1e01b2141b9fe2 || echo 'Vulnerable or Not Found'