Description
In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: MGMT: reject HCI_CMD_SYNC params_len above 255

mgmt_hci_cmd_sync() checks that the message length agrees with params_len
but puts no upper bound on it. params_len is __le16 while the parameter
length in the HCI command header is a u8:

struct hci_command_hdr {
__le16 opcode;
__u8 plen;
} __packed;

hci_cmd_sync_alloc() assigns one to the other:

hdr->plen = plen;

if (plen)
skb_put_data(skb, param, plen);

so a params_len of 256 leaves plen at 0 while all 256 bytes are still
appended. The frame handed to the driver then declares no parameters and
carries 256 of them. On a length framed transport such as H:4 the
controller takes the trailing bytes as the start of the next packet.

The mgmt socket MTU is HCI_MAX_FRAME_SIZE, so params_len can reach about
1KB this way. Commit 03f1700b9b4d ("Bluetooth: MGMT: reject malformed
HCI_CMD_SYNC commands") only made params_len agree with the message
length, a value that fits the message but not the header field is still
accepted.

Reject params_len that does not fit the header field.
Published: 2026-09-04
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A Linux kernel bug allows the Bluetooth management interface to accept a command length field that exceeds the 8‑bit header’s maximum of 255. Because the kernel does not enforce an upper bound, a 256‑byte command is treated as having a zero‑length payload while all 256 bytes are still transmitted. This mismatch causes the controller to misinterpret subsequent bytes, potentially leading to kernel memory corruption and arbitrary code execution if an attacker can craft such packets.

Affected Systems

The flaw exists in all Linux kernel releases that include the Bluetooth MGMT stack before the patch added proper validation. Any system running a kernel that has not been updated to the version containing commit 03f1700b9b4d, or earlier, is susceptible. The affected component is the kernel’s Bluetooth management subsystem, which can be triggered by a Bluetooth controller speaking the HCI_CMD_SYNC interface.

Risk and Exploitability

The vulnerability does not have an EPSS score and is not currently listed in the CISA KEV catalog, but its potential to corrupt kernel memory grants attackers high severity. Exploitation would rely on an attacker being able to send crafted HCI packets via an active Bluetooth connection, which may be achieved locally or remotely wherever the Bluetooth stack is reachable. The lack of an upper bound means the attack surface is broad, and failure to detect the malformed command could allow privilege escalation to root or other elevated levels. Until a patched kernel is in place, the risk remains significant for any host with a Bluetooth interface enabled.

Generated by OpenCVE AI on September 4, 2026 at 16:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch from commit 03f1700b9b4d (or later).
  • Disable or restrict the Bluetooth service on systems that do not require it to prevent the vulnerable command from being received.
  • After a kernel upgrade, reboot the system to ensure the new kernel is fully active and the patch is applied. If a kernel upgrade is not immediately possible, consider temporarily disabling the Bluetooth controller to mitigate the risk until a fix is available.

Generated by OpenCVE AI on September 4, 2026 at 16:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 04 Sep 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Fri, 04 Sep 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: reject HCI_CMD_SYNC params_len above 255 mgmt_hci_cmd_sync() checks that the message length agrees with params_len but puts no upper bound on it. params_len is __le16 while the parameter length in the HCI command header is a u8: struct hci_command_hdr { __le16 opcode; __u8 plen; } __packed; hci_cmd_sync_alloc() assigns one to the other: hdr->plen = plen; if (plen) skb_put_data(skb, param, plen); so a params_len of 256 leaves plen at 0 while all 256 bytes are still appended. The frame handed to the driver then declares no parameters and carries 256 of them. On a length framed transport such as H:4 the controller takes the trailing bytes as the start of the next packet. The mgmt socket MTU is HCI_MAX_FRAME_SIZE, so params_len can reach about 1KB this way. Commit 03f1700b9b4d ("Bluetooth: MGMT: reject malformed HCI_CMD_SYNC commands") only made params_len agree with the message length, a value that fits the message but not the header field is still accepted. Reject params_len that does not fit the header field.
Title Bluetooth: MGMT: reject HCI_CMD_SYNC params_len above 255
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-04T15:12:32.306Z

Reserved: 2026-08-26T14:34:25.791Z

Link: CVE-2026-80760

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T16:18:01.070

Modified: 2026-09-04T16:18:01.070

Link: CVE-2026-80760

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T17:15:14Z

Weaknesses
  • CWE-20

    Improper Input Validation