CVE-2026-105460: Bluez: bluez: stack-based out-of-bounds read in btmon via unvalidated num_keys in return_link_keys_evt()

Published Oct 5, 2026
·
Updated

A flaw was found in BlueZ. An out-of-bounds read vulnerability exists in the btmon Bluetooth monitor tool when processing crafted HCI Return Link Keys events. A maliciously crafted btsnoop capture file can specify a large number of link keys that exceeds the actual packet data, causing btmon to read beyond the allocated buffer and crash.

Other sources

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)

— Red Hat

Affected Software

1 affected component
BlueZ btmon<=5.87

Event History

Oct 5, 2026
Data Sourced
via Red Hat·02:32 PM
DescriptionSeverityAffected Software
Oct 13, 2026
CVE Published
via MITRE·03:12 PM
Data Sourced
via MITRE·03:12 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Systems where someone runs btmon against an untrusted or attacker-supplied btsnoop capture file are exposed. The issue affects btmon only; bluetoothd is not affected.

2

What does an attacker need to do to trigger the crash?

An attacker needs to provide a crafted btsnoop capture containing an HCI Return Link Keys event with a num_keys value larger than the packet data supports. When btmon processes that event, it can read beyond its allocated buffer and crash.

3

Is there an upstream fix available?

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

4

What can be done if patching is not immediately possible?

Do not process untrusted btsnoop capture files with btmon. Restrict access to capture files and only analyze captures from trusted sources until a bounds-checking fix is available.

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