Description
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.
Published: 2026-07-20
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in the Linux kernel Bluetooth L2CAP subsystem reveals that the function l2cap_conn_del() acquires the connection lock and then attempts to cancel a pending receive work queue while still holding the lock. However, the worker function process_pending_rx() also locks the same mutex. This ordering difference can create a circular lock dependency that leads to a deadlock during socket teardown, potentially locking up the kernel and causing a system hang.

Affected Systems

This defect affects all Linux kernel binaries that include the buggy Bluetooth L2CAP code path, regardless of vendor. No specific kernel version numbers are listed; the problem exists in any build prior to the patch that reorders the cancellation of pending_rx_work to occur before acquiring conn->lock.

Risk and Exploitability

Based on the description, it is inferred that the attack vector requires a local user context capable of creating and destroying Bluetooth L2CAP connections via socket APIs. It has a CVSS score of 8.8, indicating high severity. The vulnerability is not catalogued in CISA KEV and has an EPSS score in the <1% range, indicating minimal public exploitation data. An attacker could potentially exploit the deadlock to cause a denial of service by repeatedly creating and destroying sockets until the kernel hangs. Because both cancellation of pending_rx_work and worker lock acquisition must occur, the risk level is moderate to low, but the impact is catastrophic if triggered.

Generated by OpenCVE AI on August 3, 2026 at 01:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the system to a kernel version that includes the L2CAP lock ordering fix
  • Reboot after applying the update to ensure the kernel fully reloads the corrected modules
  • If an immediate kernel update is not possible, disable Bluetooth services or prevent creation of L2CAP sockets to avoid exercising the vulnerable code

Generated by OpenCVE AI on August 3, 2026 at 01:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4717-1 linux security update
Debian DLA Debian DLA DLA-4720-1 linux security update
Debian DLA Debian DLA DLA-4723-1 linux-6.1 security update
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
Debian DSA Debian DSA DSA-6405-1 linux security update
History

Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Fri, 24 Jul 2026 18:30:00 +0000


Tue, 21 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-833
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Mon, 20 Jul 2026 16:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Bluetooth: L2CAP: cancel pending_rx_work before taking conn->lock
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:00.926Z

Reserved: 2026-07-19T15:36:31.769Z

Link: CVE-2026-64206

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-20T00:00:00Z

Links: CVE-2026-64206 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T01:30:16Z

Weaknesses