---
id: CVE-2026-64549
title: 'Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup()

  bpa10x_setup() sends the vendor command 0xfc0e and passes the response
  to bt_dev_info() and hci_…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    1813add71e386f77b3040e6c8dc9b7b3ff965a6c
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    bd56c23f1f8681a2857ee924a8bd3abf87c8913b
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    7a64f39ebe1bacd9004a62eceadac0b122ec3cc2
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    f80b4afe893dffa9fabdbf80fb4d6782b24a6793
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    4b4008dda1d0c6e598d7865631ad4eda63a560f0
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    bfc9e7be289df11e8e38c98cd78019d67fdd0bd5
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    a8e169d308775039200bb9c905c7ce420db6e8c5
  - >-
    Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd <
    dd068ef044128db655f48323a4acfd5907e04903
  - Linux 4.4
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:41:21.173281Z'
published: '2026-07-27'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:44:56.977Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-64549'
references:
  - url: 'https://git.kernel.org/stable/c/1813add71e386f77b3040e6c8dc9b7b3ff965a6c'
  - url: 'https://git.kernel.org/stable/c/bd56c23f1f8681a2857ee924a8bd3abf87c8913b'
  - url: 'https://git.kernel.org/stable/c/7a64f39ebe1bacd9004a62eceadac0b122ec3cc2'
  - url: 'https://git.kernel.org/stable/c/f80b4afe893dffa9fabdbf80fb4d6782b24a6793'
  - url: 'https://git.kernel.org/stable/c/4b4008dda1d0c6e598d7865631ad4eda63a560f0'
  - url: 'https://git.kernel.org/stable/c/bfc9e7be289df11e8e38c98cd78019d67fdd0bd5'
  - url: 'https://git.kernel.org/stable/c/a8e169d308775039200bb9c905c7ce420db6e8c5'
  - url: 'https://git.kernel.org/stable/c/dd068ef044128db655f48323a4acfd5907e04903'
tags:
  - cve.org
epss: 0.00187
epssPercentile: 0.08371
ingestedAt: '2026-11-06T16:57:43.153Z'
---

## Overview

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

Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup()

bpa10x_setup() sends the vendor command 0xfc0e and passes the response
to bt_dev_info() and hci_set_fw_info() as a "%s" string starting at
skb->data + 1, without checking the length:

	bt_dev_info(hdev, "%s", (char *)(skb->data + 1));
	hci_set_fw_info(hdev, "%s", skb->data + 1);

A device that returns a one-byte response (status only) leaves
skb->data + 1 past the end of the data, and the %s walk reads adjacent
slab memory until it meets a NUL. The same happens when the payload is
not NUL-terminated within skb->len. The out-of-bounds bytes end up in
the kernel log and the firmware-info debugfs file.

Print the revision string with a bounded "%.*s" limited to skb->len - 1
instead. This keeps the string readable for well-behaved devices while
never reading past the received data, and does not fail setup, so a
device returning a short or unterminated response keeps working.

## Affected

- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < 1813add71e386f77b3040e6c8dc9b7b3ff965a6c`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < bd56c23f1f8681a2857ee924a8bd3abf87c8913b`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < 7a64f39ebe1bacd9004a62eceadac0b122ec3cc2`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < f80b4afe893dffa9fabdbf80fb4d6782b24a6793`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < 4b4008dda1d0c6e598d7865631ad4eda63a560f0`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < bfc9e7be289df11e8e38c98cd78019d67fdd0bd5`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < a8e169d308775039200bb9c905c7ce420db6e8c5`
- `Linux >= ddd68ec8f4847b460c9f580076eafe13b031a6fd < dd068ef044128db655f48323a4acfd5907e04903`
- `Linux 4.4`

## Remediation

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