---
id: CVE-2026-98459
title: 'Bluetooth: ISO: balance the parent hold in hci_bind_bis()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: ISO: balance the parent hold in hci_bind_bis()

  hci_conn_link() takes a lifetime reference to its parent with
  hci_conn_get(), but only takes an operational h…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 11dc486ed5d4626e6b92a23b67ed76cb6c48bfc9 <
    ff28e6c67143c76ef50c3eac01f2fad411705f71
  - >-
    Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 <
    03a91cdf6862fb351a74f035ad21e70112438552
  - >-
    Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 <
    4e49206d9574a4c109480198e73aea34ad0ed7f6
  - >-
    Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 <
    bbcd723ee7a84bc868142fd57717af88e54e555a
  - >-
    Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 <
    4c94557dd02569efa6c1072a0439addaef9a5224
  - Linux >= 6.6.67 < 6.6.158
  - Linux 6.8
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:15:08.537Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98459'
references:
  - url: 'https://git.kernel.org/stable/c/ff28e6c67143c76ef50c3eac01f2fad411705f71'
  - url: 'https://git.kernel.org/stable/c/03a91cdf6862fb351a74f035ad21e70112438552'
  - url: 'https://git.kernel.org/stable/c/4e49206d9574a4c109480198e73aea34ad0ed7f6'
  - url: 'https://git.kernel.org/stable/c/bbcd723ee7a84bc868142fd57717af88e54e555a'
  - url: 'https://git.kernel.org/stable/c/4c94557dd02569efa6c1072a0439addaef9a5224'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.301Z'
---

## Overview

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

Bluetooth: ISO: balance the parent hold in hci_bind_bis()

hci_conn_link() takes a lifetime reference to its parent with
hci_conn_get(), but only takes an operational hold on the child.
hci_conn_unlink() later balances both a hold and a reference on the
parent.

The SCO and CIS paths pass a parent acquired from a connect helper, so
it already has a hold. For an additional BIS, hci_bind_bis() obtains the
parent from hci_conn_hash_lookup_big(), which returns a bare pointer.
Unlinking the child then drops the parent's existing hold and can
schedule it for disconnection while its socket is still using it.

Take a hold on the parent before linking it and drop that hold if linking
fails. A successful link transfers the hold to hci_conn_unlink().

## Affected

- `Linux >= 11dc486ed5d4626e6b92a23b67ed76cb6c48bfc9 < ff28e6c67143c76ef50c3eac01f2fad411705f71`
- `Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 < 03a91cdf6862fb351a74f035ad21e70112438552`
- `Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 < 4e49206d9574a4c109480198e73aea34ad0ed7f6`
- `Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 < bbcd723ee7a84bc868142fd57717af88e54e555a`
- `Linux >= fa224d0c094a458e9ebf5ea9b1c696136b7af427 < 4c94557dd02569efa6c1072a0439addaef9a5224`
- `Linux >= 6.6.67 < 6.6.158`
- `Linux 6.8`

## Remediation

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