CVE-2019-13916 Memory corruption in n/a
A heap buffer overflow in Cypress WICED Studio Bluetooth firmware allows attackers to corrupt memory and achieve arbitrary code execution via crafted BLE packets.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2019-13916?
CVE-2019-13916 is a high-severity memory corruption vulnerability in n/a, published on 13 Apr 2020. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
An issue was discovered in Cypress (formerly Broadcom) WICED Studio 6.2 CYW20735B1 and CYW20819A1. As a Bluetooth Low Energy (BLE) packet is received, it is copied into a Heap (ThreadX Block) buffer. The buffer allocated in dhmulp_getRxBuffer is four bytes too small to hold the maximum of 255 bytes plus headers. It is possible to corrupt a pointer in the linked list holding the free buffers of the g_mm_BLEDeviceToHostPool Block pool. This pointer can be fully controlled by overflowing with 3 bytes of packet data and the first byte of the packet CRC checksum. The checksum can be freely chosen by adapting the packet data accordingly. An attacker might be able to allocate the overwritten address as a receive buffer resulting in a write-what-where condition. This is fixed in BT SDK2.4 and BT SDK2.45.
Weakness: CWE-787
Which versions are affected by CVE-2019-13916?
It affects 1 product.
Products include Cypress Wiced Studio.
How do I fix CVE-2019-13916?
No fix has been published for CVE-2019-13916 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2019-13916 being exploited?
There is no known exploitation of CVE-2019-13916 in the wild and no public exploit code.
Sources
Also known as GHSA-6558-6jwp-r9q4.