---
id: CVE-2026-80760
title: 'Bluetooth: MGMT: reject HCI_CMD_SYNC params_len above 255'
summary: |-
  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. para…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f <
    b7d9edcf9fe6e9ec3a2e80ef9e8d44ef9b4f2894
  - >-
    Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f <
    0bd0195ce25737cbdd0eabc54319ee0ddf3a0ad2
  - >-
    Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f <
    6e1c44878aa3ee7336efeaf01414b030b0a5c273
  - >-
    Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f <
    5d95286b6d6e8f1d304da7522bfa6860fc017e48
  - Linux 6.13
published: '2026-09-04'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:43:16.923Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-80760'
references:
  - url: 'https://git.kernel.org/stable/c/b7d9edcf9fe6e9ec3a2e80ef9e8d44ef9b4f2894'
  - url: 'https://git.kernel.org/stable/c/0bd0195ce25737cbdd0eabc54319ee0ddf3a0ad2'
  - url: 'https://git.kernel.org/stable/c/6e1c44878aa3ee7336efeaf01414b030b0a5c273'
  - url: 'https://git.kernel.org/stable/c/5d95286b6d6e8f1d304da7522bfa6860fc017e48'
tags:
  - cve.org
epss: 0.00209
epssPercentile: 0.10293
ingestedAt: '2026-10-19T10:20:54.950Z'
---

## Overview

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.

## Affected

- `Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f < b7d9edcf9fe6e9ec3a2e80ef9e8d44ef9b4f2894`
- `Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f < 0bd0195ce25737cbdd0eabc54319ee0ddf3a0ad2`
- `Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f < 6e1c44878aa3ee7336efeaf01414b030b0a5c273`
- `Linux >= 827af4787e74e8df9e8e0677a69fbb15e0856d2f < 5d95286b6d6e8f1d304da7522bfa6860fc017e48`
- `Linux 6.13`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
