{"vuid":"VU#317277","idnumber":"317277","name":"Texas Instruments CC2640 and CC2650 microcontrollers vulnerable to heap overflow and insecure update","keywords":["Texas Instruments","BLE","BLE-Stack","memory corruption","Bluetooth Low Energy","Bleedingbit"],"overview":"Texas Instruments CC2640 and CC2650 microcontrollers are vulnerable to a heap overflow and may allow unauthenticated firmware installation.","clean_desc":"CWE-119:Improper Restriction of Operations within the Bounds of a Memory Buffer CVE-2018-16986 - also known as BLEEDINGBIT The following Texas Instrument chips are affected: CC2640(non-R2)with BLE-STACK version 2.2.1 or an earlier version CC2650 with BLE-STACK version 2.2.1 or an earlier version CC2640R2F with SimpleLink CC2640R2 SDK version 1.00.00.22(BLE-STACK 3.0.0)CC1350 with SimpleLink CC13x0 SDK version 2.20.00.38(BLE-STACK 2.3.3)or an earlier version The above Texas Instruments controllers contain BLE-Stacks with a memory corruption vulnerability resulting from the mishandling of BLE advertising packets. The function llGetAdvChanPDU that is part of the embedded ROM image in both chips handles the incoming advertising packets and parses their headers. It copies the contents to a separate buffer provided by the calling function. The incorrect length of the packet is taken and ends up being parsed as larger packets than originally intended. If the incoming data is over a certain length,the function will call the halAssertHandler function,as defined by the application running on top of the stack,and not stop execution. Since the flow of execution does not stop,it will copy the overly large packet to the buffer and cause a heap overflow. CVE-2018-7080 - also known as BLEEDINGBIT The following Texas Instruments devices are affected if the Over the Air firmware Download(OAD)feature is enabled and not sufficiently secured: CC2642R CC2640R2 CC2640 CC2650 CC2540 CC2541 Certain Aruba access points are affected. The OAD feature allows for remote firmware updates of some BLE chips. An attacker could connect to a BLE chip on a vulnerable access point(either without authentication or by obtaining the password through other means depending on the implementation)and upload their own malicious firmware,which could give them complete control over the access point.","impact":"Using a specially crafted set of packets, an attacker can both control the data of the overflow, and the length of it, which may lead to remote code execution on the targeted BLE chip. An attacker needs to be within physical proximity to the device while it is in scanning mode to trigger vulnerable code. This memory corruption can lead to code execution on the main CPU of the device, which could have the potential to affect other devices across a network if the origin is a networked device. An attacker could also exploit this vulnerability to rewrite the operating system of a device and gain full control over it. Given the nature of embedded devices, it is possible that a broader set of devices are impacted than what is listed in this publication. If you believe you are affected, please email us at cert@cert.org.","resolution":"Update the BLE-Stack\nThis vulnerability was patched in BLE-Stack v2.2.2 released by Texas Instruments on March 28, 2018. Affected devices will require a firmware update to obtain the updated BLE-Stack. Do not use the OAD feature in production\nThe OAD featrure is never meant to be used in production, so manufacturers should ensure that this feature is not enabled by default in live environments.","workarounds":"","sysaffected":"","thanks":"We would like to thank Ben Seri at Armis for reporting this vulnerability.","author":"This document was written by Madison Oliver.","public":["http://software-dl.ti.com/lprf/ble_stack/exports/release_notes_BLE_Stack_2_2_2.html","https://cwe.mitre.org/data/definitions/119.html","https://armis.com/bleedingbit/","https://www.arubanetworks.com/assets/alert/ARUBA-PSA-2018-006.txt","http://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_2_30_00_28/docs/blestack/ble_user_guide/html/ble3-stack-oad/index-ble3-cc2640.html"],"cveids":["CVE-2018-16986","CVE-2018-7080"],"certadvisory":"","uscerttechnicalalert":null,"datecreated":"2018-09-18T15:09:30Z","publicdate":"2018-11-01T00:00:00Z","datefirstpublished":"2018-11-01T16:37:53Z","dateupdated":"2019-01-07T19:17:29Z","revision":70,"vrda_d1_directreport":"0","vrda_d1_population":"","vrda_d1_impact":"","cam_widelyknown":"0","cam_exploitation":"0","cam_internetinfrastructure":"0","cam_population":"0","cam_impact":"0","cam_easeofexploitation":"0","cam_attackeraccessrequired":"0","cam_scorecurrent":"0","cam_scorecurrentwidelyknown":"0","cam_scorecurrentwidelyknownexploited":"0","ipprotocol":"","cvss_accessvector":"A","cvss_accesscomplexity":"M","cvss_authentication":null,"cvss_confidentialityimpact":"C","cvss_integrityimpact":"C","cvss_availabilityimpact":"C","cvss_exploitablity":null,"cvss_remediationlevel":"OF","cvss_reportconfidence":"C","cvss_collateraldamagepotential":"N","cvss_targetdistribution":"M","cvss_securityrequirementscr":"ND","cvss_securityrequirementsir":"ND","cvss_securityrequirementsar":"ND","cvss_basescore":"7.9","cvss_basevector":"AV:A/AC:M/Au:N/C:C/I:C/A:C","cvss_temporalscore":"6.2","cvss_environmentalscore":"4.64042060842752","cvss_environmentalvector":"CDP:N/TD:M/CR:ND/IR:ND/AR:ND","metric":0.0,"vulnote":null}