---
id: CVE-2026-98462
title: 'Bluetooth: hci_conn: fix CIS hold ownership on reuse'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: hci_conn: fix CIS hold ownership on reuse

  Commit 69997d50ec57 ("Bluetooth: ISO: handle bound CIS cleanup via
  hci_conn") made hci_bind_cis() and hci_connect_…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd <
    10f959cb435217b4b407864e5be0eb779e389490
  - >-
    Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd <
    072bc8659f22566083f8eef7dc5903bbcaf7804a
  - >-
    Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd <
    3ff5a8d949e3a2a435d0a5ee05074cd371b0158a
  - >-
    Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd <
    947eb2f41f70d371eb16897ee4e8e32bff73b476
  - >-
    Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd <
    e06d549fcd4a0ba381ed67ddf1ab3c7a6ca4314c
  - Linux 6.6
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:15:11.696Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98462'
references:
  - url: 'https://git.kernel.org/stable/c/10f959cb435217b4b407864e5be0eb779e389490'
  - url: 'https://git.kernel.org/stable/c/072bc8659f22566083f8eef7dc5903bbcaf7804a'
  - url: 'https://git.kernel.org/stable/c/3ff5a8d949e3a2a435d0a5ee05074cd371b0158a'
  - url: 'https://git.kernel.org/stable/c/947eb2f41f70d371eb16897ee4e8e32bff73b476'
  - url: 'https://git.kernel.org/stable/c/e06d549fcd4a0ba381ed67ddf1ab3c7a6ca4314c'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.302Z'
---

## Overview

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

Bluetooth: hci_conn: fix CIS hold ownership on reuse

Commit 69997d50ec57 ("Bluetooth: ISO: handle bound CIS cleanup via
hci_conn") made hci_bind_cis() and hci_connect_cis() return a
connection with one hold for the ISO layer.  hci_bind_cis() currently
takes that hold only after configuring a CIS, so its BT_CONNECTED and
matching BT_BOUND paths return a bare lookup result.  Its configuration
failure path can likewise call hci_conn_drop() before taking a hold.

Take the hold before any state-dependent return or configuration error
so every successful return follows the documented ownership contract
and every error drop is balanced.

hci_connect_cis() also assumes hci_conn_link() always takes a new CIS
hold before dropping the one returned by hci_bind_cis().  However, the
helper returns an existing link without taking another hold.  In that
case, preserve the CIS hold for the caller and drop the redundant LE
hold because the existing link already owns its parent hold.  Returning
early also avoids changing an existing CIS back to BT_CONNECT.

## Affected

- `Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd < 10f959cb435217b4b407864e5be0eb779e389490`
- `Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd < 072bc8659f22566083f8eef7dc5903bbcaf7804a`
- `Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd < 3ff5a8d949e3a2a435d0a5ee05074cd371b0158a`
- `Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd < 947eb2f41f70d371eb16897ee4e8e32bff73b476`
- `Linux >= 69997d50ec574be816b4ee8f9cee52ebbd53f8bd < e06d549fcd4a0ba381ed67ddf1ab3c7a6ca4314c`
- `Linux 6.6`

## Remediation

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