REDHAT-BUG-2545923: Low severity BlueZ btmon vulnerability

Published Oct 5, 2026
·
Updated

An out-of-bounds read vulnerability exists in BlueZ btmon's returnlinkkeysevt() in monitor/packet.c. The function uses evt->numkeys from an HCI Return Link Keys event (0x15) as a loop bound without validating that (numkeys 22 + 1) <= size. Crafted btsnoop input (e.g. plen=3, numkeys=85) causes out-of-bounds reads and crashes btmon (stack buffer OOB read; reporter ASan trace). Affects btmon only, not bluetoothd.

Upstream: bluez <= 5.87 reported; upstream git master (checked 2026-10-05) still lacks bounds check in returnlinkkeysevt(). No upstream fix commit identified.

PSIRT ticket: PSIRTSUPT-24932 Reporter: zhailiangliang (Loongson Technology) Verification: docs/SDLC/VM/bluez/psirtsupt-24932/ (static Kaiden analysis)

Affected Software

1 affected component
BlueZ btmon<=5.87

Event History

Oct 5, 2026
Data Sourced
via Red Hat·02:32 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who is exposed to this issue?

The issue affects users who run btmon on crafted or untrusted btsnoop input. bluetoothd is not affected.

2

What does an attacker need to trigger the problem?

An attacker needs to provide a btsnoop capture containing a malformed HCI Return Link Keys event with a num_keys value that exceeds the available event data. Processing that capture with btmon can cause an out-of-bounds read and crash.

3

Is an upstream fix available?

No upstream fix commit has been identified. Upstream git master was checked on 2026-10-05 and still lacked the required bounds check in return_link_keys_evt().

4

What can be done if no patch is available?

Do not process untrusted btsnoop captures with btmon. Restrict btmon use to captures from trusted sources until a bounds-checking fix is available.

5

How can I check whether my source tree contains the fix?

Inspect monitor/packet.c in return_link_keys_evt() and verify that evt->num_keys is checked so that num_keys multiplied by 22, plus 1, does not exceed the available event size before it is used as a loop bound.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203