# CVE-2026-98462: Bluetooth: hci_conn: fix CIS hold ownership on reuse

> A use-after-free vulnerability in the Linux kernel Bluetooth ISO connection handling allows local attackers to cause denial of service or potentially execute code.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Local or same network only
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 18 Oct 2026
- **Updated:** 19 Oct 2026
- **Also known as:** AZL-109446, BELL-CVE-2026-98462, DEBIAN-CVE-2026-98462, GHSA-2fvm-fm9j-6jqx, UBUNTU-CVE-2026-98462

## What is CVE-2026-98462?

CVE-2026-98462 is an use after free vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.

### Official description

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.

## Which versions are affected by CVE-2026-98462?


## How do I fix CVE-2026-98462?

Apply the vendor's patch.

## Is CVE-2026-98462 being exploited?

There is no known exploitation of CVE-2026-98462 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-98462 and fix it if it is affected.

What it is: CVE-2026-98462 is an use after free vulnerability in Linux, published on 18 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-98462 in the wild and no public exploit code.

Affected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-98462/ (Markdown: https://insights.sbomify.com/CVE-2026-98462/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-98462
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-98462
- OSV: https://osv.dev/vulnerability/CVE-2026-98462

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-98462/
Summaries are generated and may contain mistakes; the official description above is the record.
