CVE-2026-64206CWE-362

CVE-2026-64206

High · published July 20, 2026

CVSS v3.1
8.8
EPSS
0%
Percentile
10.2
In the wild
Unconfirmed
What it is

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

Bluetooth: L2CAP: cancel pending_rx_work before taking conn->lock

l2cap_conn_del() takes conn->lock and then calls cancel_work_sync() for

pending_rx_work. process_pending_rx() takes the same mutex, so teardown

can deadlock against the worker it is flushing.

This issue was found by our static analysis tool and then manually

reviewed against the current tree.

The grounded PoC kept the l2cap_conn_ready() -> queue_work(...,

&conn->pending_rx_work) submit path, the l2cap_conn_del() ->

cancel_work_sync(&conn->pending_rx_work) teardown path, and the

process_pending_rx() -> mutex_lock(&conn->lock) worker edge. Lockdep

WARNING: possible circular locking dependency detected

process_pending_rx+0x21/0x2a [vuln_msv]

l2cap_conn_del.constprop.0+0x3f/0x4e [vuln_msv]

*** DEADLOCK ***

Cancel pending_rx_work before taking conn->lock, matching the existing

lock-before-drain ordering used for the two delayed works in the same

teardown path. The pending_rx queue is still purged after the work has

been cancelled and conn->lock has been acquired.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00207 · 10.2th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-07-20T21:18Z
Affected products (16)
ProductVersionsFixed in
linux/linux_kernel≥ 3.15.5, < 3.163.16
linux/linux_kernel≥ 3.16.1, < 5.10.2615.10.261
linux/linux_kernel≥ 5.11, < 5.15.2125.15.212
linux/linux_kernel≥ 5.16, < 6.1.1786.1.178
linux/linux_kernel≥ 6.2, < 6.6.1456.6.145
linux/linux_kernel≥ 6.7, < 6.12.976.12.97
linux/linux_kernel≥ 6.13, < 6.18.396.18.39
linux/linux_kernel≥ 6.19, < 7.1.47.1.4
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 20 JUL 16:27Z
    Bluetooth: L2CAP: cancel pending_rx_work before taking conn->lock
    cvelistv5