Bug 2545923 (CVE-2026-105460)

Summary: CVE-2026-105460 bluez: bluez: stack-based out-of-bounds read in btmon via unvalidated num_keys in return_link_keys_evt()
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: rhel-process-autobot, security-response-team, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Deadline: 2026-10-21   

Description OSIDB Bzimport 2026-10-05 14:32:17 UTC
An out-of-bounds read vulnerability exists in BlueZ btmon's return_link_keys_evt() in monitor/packet.c. The function uses evt->num_keys from an HCI Return Link Keys event (0x15) as a loop bound without validating that (num_keys * 22 + 1) <= size. Crafted btsnoop input (e.g. plen=3, num_keys=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 return_link_keys_evt(). No upstream fix commit identified.

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