CVE-2023-45866
Medium · 6.3CVSS
6.3
EPSS
7.9%
Published
Dec 8, 2023
CISA due date
—
Cloudanix analysis
A wireless connection issue could let nearby attackers send fake keyboard commands to a device without permission.
- Exploitation
- Adjacent Network
- Attacker needs
- None
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- Library
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Bluetooth HID Hosts may permit an unauthenticated Peripheral role HID Device to initiate and establish an encrypted connection and accept HID keyboard reports without user interaction in the Central role to authorize access.
Why it matters to the business
Systems could be exposed to unauthorized input injection over Bluetooth, increasing risk of compromise in environments with high device connectivity and requiring urgent patching across affected deployments.
How an attack unfolds
An attacker positions a malicious HID peripheral nearby, establishes an encrypted Bluetooth connection to the host without authorization, and injects keyboard reports to execute commands or actions on the target.
How to fix it
Upgrade affected packages to the fixed commit c87588bf1e118095445ed0713f60866592b36ca1 in canonical/cloud-init (GIT).
How to confirm the fix worked
Verify the installed package version matches or exceeds the fixed commit c87588bf1e118095445ed0713f60866592b36ca1 and test that unauthorized HID connections are rejected.
Typical attack path
- Locate vulnerable Bluetooth host
- Spoof HID peripheral role to initiate connection
- Complete encrypted pairing without user consent
- Transmit crafted HID keyboard reports for injection
How to detect it
Review Bluetooth daemon logs and connection audit trails for unauthorized HID peripheral pairings or unexpected encrypted link establishments from unknown devices.
What your security team should do
- Apply the listed fixed commit immediately due to the 1033 days since publication
- Audit Bluetooth configurations for HID host permissions
- Monitor for unexpected Bluetooth pairing events
The record
Bluetooth HID Hosts in BlueZ may permit an unauthenticated Peripheral role HID Device to initiate and establish an encrypted connection, and accept HID keyboard reports, potentially permitting injection of HID messages when no user interaction has occurred in the Central role to authorize such access. An example affected package is bluez 5.64-0ubuntu1 in Ubuntu 22.04LTS. NOTE: in some cases, a CVE-2020-0556 mitigation would have already addressed this Bluetooth HID Hosts issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | bluez | 0 | 5.63-3.el8_10.alma.1 |
| AlmaLinux:8 | bluez-cups | 0 | 5.63-3.el8_10.alma.1 |
| AlmaLinux:8 | bluez-hid2hci | 0 | 5.63-3.el8_10.alma.1 |
| AlmaLinux:8 | bluez-libs | 0 | 5.63-3.el8_10.alma.1 |
| AlmaLinux:8 | bluez-libs-devel | 0 | 5.63-3.el8_10.alma.1 |
| AlmaLinux:8 | bluez-obexd | 0 | 5.63-3.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 |
| Android | platform/packages/modules/Bluetooth | 13:0 | 13:2023-12-05 |
| Android | platform/packages/modules/Bluetooth | 14-next:0 | 14-next:2023-12-05 |
| Android | platform/packages/modules/Bluetooth | 14:0 | 14:2023-12-05 |
| Debian:10 | bluez | 0 | 5.50-1.2~deb10u4 |
| Debian:11 | bluez | 0 | 5.55-3.1+deb11u1 |
| Debian:12 | bluez | 0 | 5.66-1+deb12u1 |
| Debian:13 | bluez | 0 | 5.70-1.1 |
| Debian:14 | bluez | 0 | 5.70-1.1 |
| Mageia:9 | bluez | 0 | 5.70-1.mga9 |
| Red Hat:enterprise_linux:8::appstream | bluez | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-cups | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-cups-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-debugsource | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-hid2hci | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-hid2hci-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-libs | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-libs-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-libs-devel | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-obexd | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::appstream | bluez-obexd-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-cups | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-cups-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-debugsource | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-hid2hci | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-hid2hci-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-libs | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-libs-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-libs-devel | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-obexd | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::baseos | bluez-obexd-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-cups | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-cups-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-debugsource | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-hid2hci | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-hid2hci-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-libs | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-libs-debuginfo | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-libs-devel | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-obexd | 0 | 0:5.63-3.el8_10 |
| Red Hat:enterprise_linux:8::crb | bluez-obexd-debuginfo | 0 | 0:5.63-3.el8_10 |
| 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:Linux Enterprise Micro 5.5 | bluez | 0 | 5.65-150500.3.14.1 |
| Ubuntu:20.04:LTS | bluez | 0 | 5.53-0ubuntu3.7 |
| Ubuntu:22.04:LTS | bluez | 0 | 5.64-0ubuntu1.1 |
| Ubuntu:23.10 | bluez | 0 | 5.68-0ubuntu1.1 |
| Ubuntu:24.04:LTS | bluez | 0 | 5.70-0ubuntu3 |
| Ubuntu:Pro:16.04:LTS | bluez | 0 | 5.37-0ubuntu5.3+esm3 |
| Ubuntu:Pro:18.04:LTS | bluez | 0 | 5.48-0ubuntu3.9+esm1 |
| openSUSE:Tumbleweed | bluez | 0 | 5.70-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-27349 BlueZ Audio Profile AVRCP Improper Validation of Array Index Remote Code Execution… 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-2023-24023 Bluetooth BR/EDR devices with Secure Simple Pairing and Secure Connections pairing in… Also affects platform/packages/modules/Bluetooth