---
id: CVE-2026-74535
title: 'Bluetooth: ISO: avoid deadlocks in iso_sock_timeout'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  Bluetooth: ISO: avoid deadlocks in iso_sock_timeout

  iso_sock_timeout() takes lock_sock, so sync disabling the timer while
  holding that lock may deadlock.

  iso_sock_tim…
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 >= a58d0f5dac322e16cc75334d000666512341bde5 <
    16d89a63e08280abeef7218970a3bbd7ca62b021
  - >-
    Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b <
    82e982f54f962f72646868ddbb2c3bd9ea178568
  - >-
    Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b <
    3c3d5f85db80145636bb991a6005e2760012b985
  - >-
    Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b <
    200fa1629c57a3ca2b03d3ca63fd3a9bfd910c43
  - Linux f53e7489273dc2bb307bf50f319b3762d45534f0
  - Linux >= 6.12.2 < 6.12.103
  - Linux >= 6.11.11 < 6.12
  - Linux 6.13
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-16T18:59:30.482999Z'
published: '2026-08-15'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T19:05:53.982Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-74535'
references:
  - url: 'https://git.kernel.org/stable/c/16d89a63e08280abeef7218970a3bbd7ca62b021'
  - url: 'https://git.kernel.org/stable/c/82e982f54f962f72646868ddbb2c3bd9ea178568'
  - url: 'https://git.kernel.org/stable/c/3c3d5f85db80145636bb991a6005e2760012b985'
  - url: 'https://git.kernel.org/stable/c/200fa1629c57a3ca2b03d3ca63fd3a9bfd910c43'
tags:
  - cve.org
epss: 0.00241
epssPercentile: 0.14252
ingestedAt: '2026-10-16T19:46:24.348Z'
---

## Overview

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

Bluetooth: ISO: avoid deadlocks in iso_sock_timeout

iso_sock_timeout() takes lock_sock, so sync disabling the timer while
holding that lock may deadlock.

iso_sock_timeout() may also run concurrently with iso_conn_del(), which
leads to UAF

        [Task 1]                      [Task hdev->workqueue]
        iso_sock_timeout              iso_conn_del
          iso_conn_hold_unless_zero     iso_chan_del
                           `------------> iso_conn_put
                                      caller frees hcon
          iso_conn_put
            iso_conn_free
              conn->hcon->iso_data = NULL; /* UAF */

Fix the deadlock by removing the disable from the lock_sock sections.
Move the timer from iso_conn to iso_pinfo to decouple it from iso_conn
which may need to be freed in lock_sock section. Convert some of the
clear_timer to disable_timer.

## Affected

- `Linux >= a58d0f5dac322e16cc75334d000666512341bde5 < 16d89a63e08280abeef7218970a3bbd7ca62b021`
- `Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b < 82e982f54f962f72646868ddbb2c3bd9ea178568`
- `Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b < 3c3d5f85db80145636bb991a6005e2760012b985`
- `Linux >= dc26097bdb864a0d5955b9a25e43376ffc1af99b < 200fa1629c57a3ca2b03d3ca63fd3a9bfd910c43`
- `Linux f53e7489273dc2bb307bf50f319b3762d45534f0`
- `Linux >= 6.12.2 < 6.12.103`
- `Linux >= 6.11.11 < 6.12`
- `Linux 6.13`

## Remediation

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