Skip to content

Out-of-bounds read in BLE L2CAP module

Moderate
nvt published GHSA-m5cj-fw8m-ffgf Nov 10, 2022

Package

ble-l2cap

Affected versions

<= 4.8

Patched versions

None

Description

Impact

While processing the L2CAP protocol, the Bluetooth Low Energy stack of the Contiki-NG operating system needs to map an incoming channel ID to its metadata structure. While looking up the corresponding channel structure in get_channel_for_cid (in os/net/mac/ble/ble-l2cap.c), a bounds check is performed on the incoming channel ID, which is meant to ensure that the channel ID does not exceed the maximum number of supported channels.

However, an integer truncation issue leads to only the lowest byte of the channel ID to be checked, which leads to an incomplete out-of-bounds check. A crafted channel ID leads to out-of-bounds memory to be read and written with attacker-controlled data.

Patches

The vulnerability has been patched in the "develop" branch of Contiki-NG, and will be included in release 4.9.

Workarounds

Users can apply the patch in Contiki-NG pull request 2081.

For more information

If you have any questions or comments about this advisory:

Severity

Moderate

CVE ID

CVE-2022-41873

Weaknesses

Credits