---
id: CVE-2026-98456
title: 'Bluetooth: mgmt: fix race in read_unconf_index_list()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: mgmt: fix race in read_unconf_index_list()

  read_unconf_index_list() counts unconfigured controllers before allocating
  its response, then checks the device f…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 <
    524e0450dd9a396f99a81b045219b0e2ea0dab57
  - >-
    Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 <
    8ddf962c76432a10a6cb80042875cbc48a9c056b
  - >-
    Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 <
    416546cd6a54e9b68f2b91bc680b1ee17dcd77a1
  - >-
    Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 <
    2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1
  - >-
    Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 <
    b5dbb41b212c50c095a4dbee3017a84fe94f033b
  - Linux 3.17
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:15:05.909Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98456'
references:
  - url: 'https://git.kernel.org/stable/c/524e0450dd9a396f99a81b045219b0e2ea0dab57'
  - url: 'https://git.kernel.org/stable/c/8ddf962c76432a10a6cb80042875cbc48a9c056b'
  - url: 'https://git.kernel.org/stable/c/416546cd6a54e9b68f2b91bc680b1ee17dcd77a1'
  - url: 'https://git.kernel.org/stable/c/2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1'
  - url: 'https://git.kernel.org/stable/c/b5dbb41b212c50c095a4dbee3017a84fe94f033b'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.303Z'
---

## Overview

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

Bluetooth: mgmt: fix race in read_unconf_index_list()

read_unconf_index_list() counts unconfigured controllers before allocating
its response, then checks the device flags again while filling it.

hci_dev_list_lock stabilizes list membership, but it does not serialize the
per-device flags. During asynchronous controller setup, the worker can set
HCI_UNCONFIGURED and clear HCI_SETUP between the two passes. A controller
omitted from the allocation count can then become eligible for the fill
pass, causing an out-of-bounds write to rp->index[].

Allocate space for every device on hci_dev_list. Since list membership
cannot change while hci_dev_list_lock is held, the response remains large
enough regardless of flag transitions. The reported count and response
length still include only eligible unconfigured controllers.

## Affected

- `Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 < 524e0450dd9a396f99a81b045219b0e2ea0dab57`
- `Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 < 8ddf962c76432a10a6cb80042875cbc48a9c056b`
- `Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 < 416546cd6a54e9b68f2b91bc680b1ee17dcd77a1`
- `Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 < 2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1`
- `Linux >= 73d1df2a7a1036a1f000e5f0ece6ade3e082b854 < b5dbb41b212c50c095a4dbee3017a84fe94f033b`
- `Linux 3.17`

## Remediation

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