# CVE-2023-45866: Auth bypass in n/a

> Unauthenticated Bluetooth devices can inject HID messages without user authorization, potentially leading to code execution on Linux systems using BlueZ.

- **Severity:** Medium 6.3 (`CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 8 Dec 2023
- **Updated:** 4 Nov 2025
- **Also known as:** A-294854926, ALSA-2024:11154, ASB-A-294854926, AZL-32161, AZL-34571, BELL-CVE-2023-45866, DEBIAN-CVE-2023-45866, DLA-3689-1, DSA-5584-1, GHSA-qjcj-xg77-6c32, MGASA-2023-0353, OESA-2023-1948, RHSA-2024:11154, SUSE-SU-2025:03269-1, SUSE-SU-2025:03277-1, SUSE-SU-2025:03590-1, SUSE-SU-2025:20804-1, SUSE-SU-2026:20041-1, UBUNTU-CVE-2023-45866, USN-6540-1, openSUSE-SU-2024:13507-1

## What is CVE-2023-45866?

CVE-2023-45866 is a medium-severity authentication bypass vulnerability in Apple Ipados, published on 8 Dec 2023. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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.

Weakness: CWE-287 (Improper Authentication)

## Which versions are affected by CVE-2023-45866?

It affects 7 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `bluez` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-cups` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-hid2hci` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-libs` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-libs-devel` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-obexd` | AlmaLinux:8 | All versions | 5.63-3.el8_10.alma.1 |
| `bluez-cups` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-cups-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-debugsource` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-hid2hci-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-libs-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez-obexd-debuginfo` | Red Hat:enterprise_linux:8::appstream | All versions | 0:5.63-3.el8_10 |
| `bluez` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-cups-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-debugsource` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-hid2hci` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-hid2hci-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-libs` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-libs-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-obexd` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-obexd-debuginfo` | Red Hat:enterprise_linux:8::baseos | All versions | 0:5.63-3.el8_10 |
| `bluez-cups-debuginfo` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-debuginfo` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-debugsource` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-hid2hci-debuginfo` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-libs-debuginfo` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-libs-devel` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez-obexd-debuginfo` | Red Hat:enterprise_linux:8::crb | All versions | 0:5.63-3.el8_10 |
| `bluez` | SUSE:Linux Enterprise Micro 5.3 | All versions | 5.62-150400.4.22.1 |
| `bluez` | SUSE:Linux Enterprise Micro 5.4 | All versions | 5.62-150400.4.22.1 |
| `bluez` | SUSE:Linux Enterprise Micro 5.5 | All versions | 5.65-150500.3.14.1 |
| `bluez` | SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | All versions | 5.13-5.45.1 |
| `bluez` | SUSE:Linux Micro 6.0 | All versions | 5.70-2.1 |
| `bluez` | SUSE:Linux Micro 6.1 | All versions | 5.70-slfo.1.1_2.1 |
| `bluez` | openSUSE:Tumbleweed | All versions | 5.70-2.1 |

Products: Apple Ipados, Apple Iphone Os, Apple Macos, Canonical Ubuntu Linux, Debian Debian Linux, Fedoraproject Fedora, Google Android.

## How do I fix CVE-2023-45866?

Apply the vendor's patch.

## Is CVE-2023-45866 being exploited?

There is no known exploitation of CVE-2023-45866 in the wild and no public exploit code.

Public exploit code:

- 🚨 CVE-2023-45866 - BlueDucky Implementation (Using DuckyScript) 🔓 Unauthenticated Peering Leading to Code Execution (Using HID Keyboard) (github_poc): https://github.com/pentestfunctions/BlueDucky
- CVE-2023-45866 - BluetoothDucky implementation (Using DuckyScript) (github_poc): https://github.com/Eason-zz/BluetoothDucky
- Exploit basado en vulnerabilidades criticas Bluetooth (CVE-2023-45866, CVE-2024-21306) (github_poc): https://github.com/Danyw24/blueXploit
- Exploits Tested in Mi A2 Lite and Realme 2 pro (github_poc): https://github.com/AvishekDhakal/CVE-2023-45866_EXPLOITS
- BlueDucky exploits a Bluetooth vulnerability, specifically CVE-2023-45866, which allows an attacker to inject keystrokes into a target device. The attacker's device impersonates a Bluetooth keyboard to establish an encrypted connection without user authorization. The BlueDucky tool automates this process (github_poc): https://github.com/Sergeb250/BlueDucky
- Rust implementation of Marc Newlin's keystroke injection proof of concept (CVE-2023-45866). (github_poc): https://github.com/xG3nesis/RustyInjector

## Other vulnerabilities in Apple Ipados

- [CVE-2025-43300](https://insights.sbomify.com/CVE-2025-43300/): Apple iOS, iPadOS, and macOS Out-of-Bounds Write (critical 10.0, exploited in the wild)
- [CVE-2025-24201](https://insights.sbomify.com/CVE-2025-24201/): Apple Multiple Products WebKit Out-of-Bounds Write (critical 10.0, exploited in the wild)
- [CVE-2025-24085](https://insights.sbomify.com/CVE-2025-24085/): Apple Multiple Products Use-After-Free (critical 10.0, exploited in the wild)
- [CVE-2025-31200](https://insights.sbomify.com/CVE-2025-31200/): Apple Multiple Products Memory Corruption (critical 9.8, exploited in the wild)
- [CVE-2025-31201](https://insights.sbomify.com/CVE-2025-31201/): Apple Multiple Products Arbitrary Read and Write (critical 9.8, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2023-45866 and fix it if it is affected.

What it is: CVE-2023-45866 is a medium-severity authentication bypass vulnerability in Apple Ipados, published on 8 Dec 2023. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2023-45866 in the wild and no public exploit code.

Affected product: Apple Ipados. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2023-45866/ (Markdown: https://insights.sbomify.com/CVE-2023-45866/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2023-45866
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2023-45866
- OSV: https://osv.dev/vulnerability/CVE-2023-45866

---
From sbomify Insights: https://insights.sbomify.com/CVE-2023-45866/
Summaries are generated and may contain mistakes; the official description above is the record.
