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

Bluetooth: fix UAF in bt_accept_dequeue()

bt_accept_get() takes a temporary reference before dropping the accept
queue lock. bt_accept_dequeue() currently drops that reference before
bt_accept_unlink(), leaving only the queue reference.

bt_accept_unlink() drops the queue reference. The subsequent
sock_hold() therefore accesses freed memory if it was the final
reference, as observed by KASAN during listening L2CAP socket cleanup.

Retain the temporary queue-walk reference through unlink and hand it to
the caller on success. Drop it explicitly on the closed and
not-yet-connected paths.
Published: 2026-07-25
Score: 8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a use‑after‑free in the Linux kernel Bluetooth stack. When accepting a connection, bt_accept_get holds a temporary reference that is dropped too early, allowing bt_accept_dequeue to release the final reference before bt_accept_unlink. This can cause a subsequent sock_hold to touch freed memory. The flaw can lead to kernel memory corruption, potentially allowing a local or remote attacker to gain elevated privileges or execute arbitrary code. The weakness is identified as CWE‑825.

Affected Systems

Any Linux kernel that has not yet applied the fix is affected. This includes all major distributions (e.g., Ubuntu, Fedora, Debian, CentOS) running a kernel prior to the revision that retains the temporary queue‑walk reference in bt_accept_dequeue. Exact version numbers are not specified in the advisory, but the issue exists in kernels prior to the patch commit shown in the references.

Risk and Exploitability

The CVSS score of 8.0 classifies the issue as high severity. The EPSS score is below 1 %, indicating a very low current exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. The flaw is exploitable through the Bluetooth interface; an attacker would need to send crafted L2CAP packets or otherwise manipulate the accept queue during a listening session to trigger the use‑after‑free. Successful exploitation could read or overwrite kernel memory, enabling privilege escalation or code execution on the affected host.

Generated by OpenCVE AI on August 5, 2026 at 00:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that retains the temporary queue‑walk reference, or upgrade to a kernel version that includes the fix.
  • If the patch or newer kernel is unavailable, immediately disable or restrict the Bluetooth service—stop the bluetooth daemon, unload Bluetooth kernel modules, and block Bluetooth traffic with host‑based firewall rules.
  • Verify that the system cannot accept external Bluetooth connections by testing with a Bluetooth scanner; monitor system logs for attempts to connect that may hint at attempted exploitation.

Generated by OpenCVE AI on August 5, 2026 at 00:27 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
History

Sun, 02 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 28 Jul 2026 00:15:00 +0000

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

None

threat_severity

Moderate


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

Type Values Removed Values Added
Weaknesses CWE-416

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

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: fix UAF in bt_accept_dequeue() bt_accept_get() takes a temporary reference before dropping the accept queue lock. bt_accept_dequeue() currently drops that reference before bt_accept_unlink(), leaving only the queue reference. bt_accept_unlink() drops the queue reference. The subsequent sock_hold() therefore accesses freed memory if it was the final reference, as observed by KASAN during listening L2CAP socket cleanup. Retain the temporary queue-walk reference through unlink and hand it to the caller on success. Drop it explicitly on the closed and not-yet-connected paths.
Title Bluetooth: fix UAF in bt_accept_dequeue()
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:41:42.679Z

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

Link: CVE-2026-64406

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:24.243

Modified: 2026-08-11T15:01:50.637

Link: CVE-2026-64406

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-64406 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T00:30:05Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference