CVE-2023-51580
Medium · 5.4CVSS
5.4
EPSS
1.0%
Published
May 3, 2024
CISA due date
—
Cloudanix analysis
A bug in the Bluetooth software used by many devices could let a nearby attacker read private information if you connect to a fake device they control.
- Exploitation
- Adjacent Network
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds read during AVRCP attribute list parsing in BlueZ allows disclosure of adjacent memory contents over Bluetooth without authentication.
Why it matters to the business
Sensitive data exposure from Bluetooth-enabled Linux systems can facilitate reconnaissance or chaining to achieve root-level code execution, increasing risk in IoT, automotive, and desktop environments that rely on BlueZ.
How an attack unfolds
An attacker deploys a malicious Bluetooth device advertising AVRCP services; when a victim pairs or connects, the attacker sends a crafted attribute list that triggers the out-of-bounds read, leaking memory that may contain credentials or pointers usable with additional vulnerabilities to gain root execution.
How to fix it
Apply the newest BlueZ release containing validation fixes for AVRCP attribute handling; where updates are unavailable, disable AVRCP or Bluetooth entirely on affected hosts.
How to confirm the fix worked
Confirm BlueZ version is newer than the vulnerable release, review changelog for AVRCP fixes, and test connectivity with a fuzzer that exercises attribute list parsing.
Typical attack path
- Deploy rogue Bluetooth device within radio range
- Advertise AVRCP profile to attract connections
- Wait for or socially engineer target device to connect
- Transmit malformed AVRCP attribute list packets
- Receive leaked memory contents from the target
- Leverage disclosed data with other exploits for privilege escalation
How to detect it
Review Bluetooth daemon logs and packet captures for unexpected AVRCP connections or attribute list messages originating from unknown devices; correlate with system memory access anomalies.
What your security team should do
- Inventory all systems running BlueZ and schedule immediate updates
- Disable Bluetooth radios or AVRCP profile where not required
- Implement network segmentation to limit Bluetooth adjacency exposure
- Monitor vendor advisories for BlueZ security releases
The record
BlueZ Audio Profile AVRCP avrcp_parse_attribute_list Out-Of-Bounds Read Information Disclosure Vulnerability. This vulnerability allows network-adjacent attackers to disclose sensitive information via Bluetooth on affected installations of BlueZ. User interaction is required to exploit this vulnerability in that the target must connect to a malicious device. The specific flaw exists within the handling of the AVRCP protocol. The issue results from the lack of proper validation of user-supplied data, which can result in a read past the end of an allocated buffer. An attacker can leverage this in conjunction with other vulnerabilities to execute arbitrary code in the context of root. Was ZDI-CAN-20852.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | bluez | 0 | 5.72-2.el9 |
| AlmaLinux:9 | bluez-cups | 0 | 5.72-2.el9 |
| AlmaLinux:9 | bluez-libs | 0 | 5.72-2.el9 |
| AlmaLinux:9 | bluez-libs-devel | 0 | 5.72-2.el9 |
| AlmaLinux:9 | bluez-obexd | 0 | 5.72-2.el9 |
| Debian:11 | bluez | 0 | No fix |
| Debian:12 | bluez | 0 | No fix |
| Debian:13 | bluez | 0 | No fix |
| Mageia:9 | bluez | 0 | 5.80-1.mga9 |
| Red Hat:enterprise_linux:9::appstream | bluez | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-cups | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-cups-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-debugsource | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-hid2hci-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-libs | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-libs-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-libs-devel | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-libs-devel-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-mesh-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-obexd | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::appstream | bluez-obexd-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-cups | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-cups-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-debugsource | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-hid2hci-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-libs | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-libs-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-libs-devel | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-libs-devel-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-mesh-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-obexd | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::baseos | bluez-obexd-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-cups | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-cups-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-debugsource | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-hid2hci-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-libs | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-libs-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-libs-devel | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-libs-devel-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-mesh-debuginfo | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-obexd | 0 | 0:5.72-2.el9 |
| Red Hat:enterprise_linux:9::crb | bluez-obexd-debuginfo | 0 | 0:5.72-2.el9 |
| Rocky Linux:9 | bluez | 0 | 0:5.72-2.el9 |
| Ubuntu:20.04:LTS | bluez | 0 | No fix |
| Ubuntu:22.04:LTS | bluez | 0 | No fix |
| Ubuntu:24.04:LTS | bluez | 0 | No fix |
| Ubuntu:24.10 | bluez | 0 | No fix |
| Ubuntu:25.04 | bluez | 0 | No fix |
| Ubuntu:25.10 | bluez | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | bluez | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | bluez | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | bluez | 0 | No fix |
Related vulnerabilities
- CVE-2023-51594 BlueZ OBEX Library Out-Of-Bounds Read Information Disclosure Vulnerability. Also affects bluez
- CVE-2023-51596 BlueZ Phone Book Access Profile Heap-based Buffer Overflow Remote Code Execution… Also affects bluez
- CVE-2023-51589 BlueZ Audio Profile AVRCP parse_media_element Out-Of-Bounds Read Information Disclosure… Also affects bluez
- CVE-2023-51592 BlueZ Audio Profile AVRCP parse_media_folder Out-Of-Bounds Read Information Disclosure… Also affects bluez
- CVE-2023-44431 BlueZ Audio Profile AVRCP Stack-based Buffer Overflow Remote Code Execution Vulnerability. Also affects bluez
- CVE-2023-27349 BlueZ Audio Profile AVRCP Improper Validation of Array Index Remote Code Execution… Also affects bluez
- CVE-2023-45866 Bluetooth HID Hosts in BlueZ may permit an unauthenticated Peripheral role HID Device to… Also affects bluez
- CVE-2022-39176 BlueZ before 5.59 allows physically proximate attackers to obtain sensitive information… Also affects bluez