CVE-2026-64406: Linux kernel · Bluetooth: fix UAF in bt_accept_dequeue()
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 8.0 High · fixed in c0577c55219be42b6ea2ea8db11e85bfab6f4e8d : patch Linux kernel soon.
Data as of 26 Oct 2026, 13:07 UTC
- EPSS
- 0.2% chance of exploitation in 30 days – higher than 19% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- CISA SSVC
- Exploitation
- No evidence of active exploitation and no public proof of concept
- Automatable
- Attackers cannot reliably automate steps 1–4 of the kill chain
- Technical impact
- Total control over the software or total information disclosure
CISA SSVC assessment, 2026-10-16.
- Patch
- Available – fixed in c0577c55219be42b6ea2ea8db11e85bfab6f4e8d, c66a95e60b65d876a927123b0ed36bd6177d9ca6, 26168db1ce5a9766cde021b18e590a101c056614 +12
CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 25 Jul 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
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.
References
- git.kernel.org/stable/c/c0577c55219be42b6ea2ea8db11e85bfab6f4e8d (opens in a new tab)
- git.kernel.org/stable/c/96ad400d5132eb333f28f6f1e2d58f0728ca9547 (opens in a new tab)
- git.kernel.org/stable/c/0a98ff4e7b867f72fbb4e1237d81e9fa02ded0a0 (opens in a new tab)
- git.kernel.org/stable/c/c66a95e60b65d876a927123b0ed36bd6177d9ca6 (opens in a new tab)
- git.kernel.org/stable/c/6303ed4bbe0095f4cc195225479bf506e010d1db (opens in a new tab)
- git.kernel.org/stable/c/26168db1ce5a9766cde021b18e590a101c056614 (opens in a new tab)
- git.kernel.org/stable/c/50c662bdcd51b03033a0abed6716bfd377ba1049 (opens in a new tab)
- git.kernel.org/stable/c/4bd0b274054f2679f28b70222b607bb0afc3ab9a (opens in a new tab)