Bluetooth: fix UAF in bt_accept_dequeue()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.96, and 3 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 751de6ec671fe75ad9cf65a0638d2a06b6a5984d · fixed in c0577c55219be42b6ea2ea8db11e85bfab6f4e8d; From 407217734835d21d4e0105ebf347860dc1806f88 · fixed in 96ad400d5132eb333f28f6f1e2d58f0728ca9547; From 7eebd4c2c86f573af87ff165d08a83432eb0b919 · fixed in 0a98ff4e7b867f72fbb4e1237d81e9fa02ded0a0; From 5d86d2f1b4d9a508c441d3e45277ae1a73cfed57 · fixed in c66a95e60b65d876a927123b0ed36bd6177d9ca6; From 87c543e2f78d0871f271df92dab98901bbd5b6f5 · fixed in 6303ed4bbe0095f4cc195225479bf506e010d1db; From added1213395071470a900cc845a042fb51882a6 · fixed in 26168db1ce5a9766cde021b18e590a101c056614; From ab1513597c6cf17cd1ad2a21e3b045421b48e022 · fixed in 50c662bdcd51b03033a0abed6716bfd377ba1049; From ab1513597c6cf17cd1ad2a21e3b045421b48e022 · fixed in 4bd0b274054f2679f28b70222b607bb0afc3ab9a; From 5.10.259 · fixed in 5.10.261; From 5.15.210 · fixed in 5.15.212; From 6.1.175 · fixed in 6.1.178; From 6.6.142 · fixed in 6.6.145; From 6.12.92 · fixed in 6.12.96; From 6.18.34 · fixed in 6.18.39; From 7.0.11 · fixed in 7.1
- Linux Linux
7.1
- KernelLinux
fixed in 5.10.261; From 5.11.0 · fixed in 5.15.212; From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.96; From 6.13.0 · fixed in 6.18.39; From 6.19.0 · fixed in 7.1.4
References 8
git.kernel.org
- stable/c/c0577c55219be42b6ea2ea8db11e85bfab6f4e8d
- stable/c/96ad400d5132eb333f28f6f1e2d58f0728ca9547
- stable/c/0a98ff4e7b867f72fbb4e1237d81e9fa02ded0a0
- stable/c/c66a95e60b65d876a927123b0ed36bd6177d9ca6
- stable/c/6303ed4bbe0095f4cc195225479bf506e010d1db
- stable/c/26168db1ce5a9766cde021b18e590a101c056614
- stable/c/50c662bdcd51b03033a0abed6716bfd377ba1049
- stable/c/4bd0b274054f2679f28b70222b607bb0afc3ab9a