Multiple Memory Allocation Vulnerabilities in IoT and OT devices (BadAlloc)

Languages: English. Risk Level: Medium.

Systems Affected
✻ Amazon FreeRTOS, Version 10.4.1

✻ Apache Nuttx OS, Version 9.1.0

✻ ARM CMSIS-RTOS2, versions prior to 2.1.3

✻ ARM Mbed OS, Version 6.3.0

✻ ARM mbed-uallaoc, Version 1.3.0

✻ Cesanta Software Mongoose OS, v2.17.0

✻ eCosCentric eCosPro RTOS, Versions 2.0.1 through 4.5.3

✻ Google Cloud IoT Device SDK, Version 1.0.2

✻ Linux Zephyr RTOS, versions prior to 2.4.0

✻ MediaTek LinkIt SDK, versions prior to 4.6.1

✻ Micrium OS, Versions 5.10.1 and prior

✻ Micrium uCOS II/uCOS III Versions 1.39.0 and prior

✻ NXP MCUXpresso SDK, versions prior to 2.8.2

✻ NXP MQX, Versions 5.1 and prior

✻ Redhat newlib, versions prior to 4.0.0

✻ RIOT OS, Version 2020.01.1

✻ Samsung Tizen RT RTOS, versions prior 3.0.GBB

✻ TencentOS-tiny, Version 3.1.0

✻ Texas Instruments CC32XX, versions prior to 4.40.00.07

✻ Texas Instruments SimpleLink MSP432E4XX

✻ Texas Instruments SimpleLink-CC13XX, versions prior to 4.40.00

✻ Texas Instruments SimpleLink-CC26XX, versions prior to 4.40.00

✻ Texas Instruments SimpleLink-CC32XX, versions prior to 4.10.03

✻ Uclibc-NG, versions prior to 1.0.36

✻ Windriver VxWorks, prior to 7.0

Overview

Multiple vulnerabilities, also named “BadAlloc” have been reported in various IoT and OT devices that could allow an attacker to execute arbitrary code or cause a denial of service conditions

Description

Multiple vulnerabilities are known as (“BadAlloc”) exists in various real-time operating systems (RTOS), embedded software development kits (SDKs), and C standard library (libc) implementations due to lack of proper input validations associated with these memory allocation functions could enable an adversary to perform a heap overflow, leading to the execution of malicious code on a vulnerable device

Successful exploitation of these vulnerabilities could allow an attacker to execute arbitrary codes or cause a denial of service conditions on the targeted systems

Impact

✻ Exposing sensitive information to unauthorized parties

✻ Denial of Service conditions

✻ Execute of unwanted/malicious programs/codes

Solution/ Workarounds

✻ Apply available vendor updates

✻ Minimize network exposure for all control system devices and/or systems, and ensure that they are not accessible from the Internet.

✻ Locate control system networks and remote devices behind firewalls, and isolate them from the business network.

✻ For remote access, use secure methods, such as Virtual Private Networks (VPNs), recognizing VPNs may have vulnerabilities and should be updated to the most current version available. Also, remember that VPN is only as secure as its connected devices.

Reference

Disclaimer

The information provided herein is on an “as is” basis, without warranty of any kind.