---
id: CVE-2026-74533
title: 'Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero

  hci_conn::iso_data is accessed and modified without lock or RCU.
  This leads to a race

      [Task hdev->workqu…
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b <
    876a3e94c70d0859d1dad1c986112d4f0d99eba8
  - >-
    Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b <
    af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c
  - Linux f53e7489273dc2bb307bf50f319b3762d45534f0
  - Linux a58d0f5dac322e16cc75334d000666512341bde5
  - Linux >= 6.11.11 < 6.12
  - Linux >= 6.12.2 < 6.13
  - Linux 6.13
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T18:59:22.174830Z'
published: '2026-08-15'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T19:05:53.676Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-74533'
references:
  - url: 'https://git.kernel.org/stable/c/876a3e94c70d0859d1dad1c986112d4f0d99eba8'
  - url: 'https://git.kernel.org/stable/c/af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c'
tags:
  - cve.org
epss: 0.0034
epssPercentile: 0.25943
ingestedAt: '2026-10-16T19:46:24.347Z'
---

## Overview

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

Bluetooth: ISO: fix race of kfree vs kref_get_unless_zero

hci_conn::iso_data is accessed and modified without lock or RCU.
This leads to a race

    [Task hdev->workqueue]                 	[Task 2]
    iso_recv                                    iso_conn_put(conn)
      conn = LOAD hcon->iso_data                  iso_conn_free(conn)
      iso_conn_hold_unless_zero(conn)               hcon->iso_data = NULL
                                                    kfree(conn)
        kref_get_unless_zero(&conn->ref) /* UAF */

and also to races in iso_conn_add() vs. iso_conn_free().

Fix by adding spinlock hci_conn::proto_lock and using it to guard
hci_conn::iso_data.

## Affected

- `Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b < 876a3e94c70d0859d1dad1c986112d4f0d99eba8`
- `Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b < af24e338bf5dafb80f42baa9a0b9e9b57b1c5d9c`
- `Linux f53e7489273dc2bb307bf50f319b3762d45534f0`
- `Linux a58d0f5dac322e16cc75334d000666512341bde5`
- `Linux >= 6.11.11 < 6.12`
- `Linux >= 6.12.2 < 6.13`
- `Linux 6.13`

## Remediation

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