CVE-2023-27349
High · 7.1CVSS
7.1
EPSS
1.4%
Published
May 3, 2024
CISA due date
—
Cloudanix analysis
A Bluetooth flaw on Linux devices lets a nearby attacker take complete control if the device connects to a malicious audio accessory.
- Exploitation
- Adjacent Network
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper validation of array index in AVRCP protocol handling allows out-of-bounds write past allocated buffer, enabling arbitrary code execution as root.
Why it matters to the business
Compromise of Linux Bluetooth audio systems can lead to full device takeover, data theft, or persistent access on embedded and desktop platforms where Bluetooth is enabled.
How an attack unfolds
An attacker configures a malicious Bluetooth device advertising AVRCP support; when a victim connects, crafted packets trigger the buffer overflow and execute attacker-controlled code in the bluetooth daemon context.
How to fix it
Upgrade BlueZ to a patched release that corrects AVRCP array index validation; disable Bluetooth services when not required.
How to confirm the fix worked
Confirm updated BlueZ package version on affected systems, review bluetoothd process stability under AVRCP traffic, and validate absence of the vulnerable code path via source or binary inspection.
Typical attack path
- Deploy malicious Bluetooth peripheral advertising AVRCP
- Wait for or lure target system to pair and connect
- Transmit specially crafted AVRCP command packets
- Trigger out-of-bounds write in protocol handler
- Execute arbitrary code with root privileges
How to detect it
Monitor system logs for bluetoothd crashes or unusual AVRCP protocol events, correlate with unexpected root-level process spawns following Bluetooth connections, and inspect audit logs for anomalous device pairings.
- bluetoothd.*AVRCP
- /var/log/syslog.*bluetooth
- unexpected exec of /usr/lib/bluetooth/bluetoothd
What your security team should do
- Apply latest BlueZ updates immediately on all Linux endpoints with Bluetooth
- Disable Bluetooth radios and services where audio profile support is unnecessary
- Add network-adjacent Bluetooth device allow-listing and connection logging
The record
BlueZ Audio Profile AVRCP Improper Validation of Array Index Remote Code Execution Vulnerability. This vulnerability allows network-adjacent attackers to execute arbitrary code 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 write past the end of an allocated buffer. An attacker can leverage this vulnerability to execute code in the context of root. Was ZDI-CAN-19908.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bluez-cups | 0 | 5.63-5.el8_10.alma.1 |
| AlmaLinux:8 | bluez-libs-devel | 0 | 5.63-5.el8_10.alma.1 |
| 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:10 | bluez | 0 | 5.50-1.2~deb10u5 |
| Debian:11 | bluez | 0 | 5.55-3.1+deb11u2 |
| Debian:12 | bluez | 0 | 5.66-1+deb12u2 |
| Debian:13 | bluez | 0 | 5.68-1 |
| 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 |
| SUSE:Enterprise Storage 7 | bluez | 0 | 5.48-150200.13.25.1 |
| SUSE:Enterprise Storage 7.1 | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | bluez | 0 | 5.48-150000.5.49.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | bluez | 0 | 5.48-150200.13.25.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise Micro 5.3 | bluez | 0 | 5.62-150400.4.13.1 |
| SUSE:Linux Enterprise Micro 5.4 | bluez | 0 | 5.62-150400.4.13.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP4 | bluez | 0 | 5.62-150400.4.13.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | bluez | 0 | 5.65-150500.3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP4 | bluez | 0 | 5.62-150400.4.13.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | bluez | 0 | 5.65-150500.3.3.1 |
| SUSE:Linux Enterprise Real Time 15 SP3 | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server 12 SP4-ESPOS | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server 12 SP4-LTSS | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server 12 SP5 | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | bluez | 0 | 5.48-150000.5.49.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | bluez | 0 | 5.48-150200.13.25.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP4 | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | bluez | 0 | 5.48-150000.5.49.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | bluez | 0 | 5.48-150200.13.25.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | bluez | 0 | 5.13-5.39.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP4 | bluez | 0 | 5.62-150400.4.13.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | bluez | 0 | 5.65-150500.3.3.1 |
| SUSE:Manager Proxy 4.2 | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:Manager Server 4.2 | bluez | 0 | 5.55-150300.3.22.1 |
| SUSE:OpenStack Cloud 9 | bluez | 0 | 5.13-5.39.1 |
| SUSE:OpenStack Cloud Crowbar 9 | bluez | 0 | 5.13-5.39.1 |
| Ubuntu:20.04:LTS | bluez | 0 | 5.53-0ubuntu3.8 |
| Ubuntu:22.04:LTS | bluez | 0 | 5.64-0ubuntu1.3 |
| Ubuntu:24.04:LTS | bluez | 0 | 5.72-0ubuntu5 |
| Ubuntu:Pro:16.04:LTS | bluez | 0 | 5.37-0ubuntu5.3+esm4 |
| Ubuntu:Pro:18.04:LTS | bluez | 0 | 5.48-0ubuntu3.9+esm2 |
| openSUSE:Leap 15.4 | bluez | 0 | 5.62-150400.4.13.1 |
| openSUSE:Leap 15.5 | bluez | 0 | 5.65-150500.3.3.1 |
| openSUSE:Leap Micro 5.3 | bluez | 0 | 5.62-150400.4.13.1 |
| openSUSE:Tumbleweed | bluez | 0 | 5.68-2.1 |
Related vulnerabilities
- CVE-2023-51589 BlueZ Audio Profile AVRCP parse_media_element Out-Of-Bounds Read Information Disclosure… Also affects bluez-cups
- CVE-2023-45866 Bluetooth HID Hosts in BlueZ may permit an unauthenticated Peripheral role HID Device to… Also affects bluez-cups
- 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-51592 BlueZ Audio Profile AVRCP parse_media_folder Out-Of-Bounds Read Information Disclosure… Also affects bluez
- CVE-2023-51580 BlueZ Audio Profile AVRCP avrcp_parse_attribute_list Out-Of-Bounds Read Information… Also affects bluez
- CVE-2023-44431 BlueZ Audio Profile AVRCP Stack-based Buffer Overflow Remote Code Execution Vulnerability. Also affects bluez
- CVE-2022-39176 BlueZ before 5.59 allows physically proximate attackers to obtain sensitive information… Also affects bluez