Bluetooth: L2CAP: Fix use-after-free in l2cap_unregister_user
- 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 6.6.130, 6.12.78, 6.14, 6.18.20, 6.19.10
- 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: L2CAP: Fix use-after-free in l2cap_unregister_user After commit ab4eedb790ca ("Bluetooth: L2CAP: Fix corrupted list in hci_chan_del"), l2cap_conn_del() uses conn->lock to protect access to conn->users. However, l2cap_register_user() and l2cap_unregister_user() don't use conn->lock, creating a race condition where these functions can access conn->users and conn->hchan concurrently with l2cap_conn_del(). This can lead to use-after-free and list corruption bugs, as reported by syzbot. Fix this by changing l2cap_register_user() and l2cap_unregister_user() to use conn->lock instead of hci_dev_lock(), ensuring consistent locking for the l2cap_conn structure.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From efc30877bd4bc85fefe98d80af60fafc86e5775e · fixed in 11a87dd5df428a4b79a84d2790cac7f3c73f1f0d; From f87271d21dd4ee83857ca11b94e7b4952749bbae · fixed in c22a5e659959eb77c2fbb58a5adfaf3c3dab7abf; From ab4eedb790cae44313759b50fe47da285e2519d5 · fixed in da3000cbe4851458a22be38bb18c0689c39fdd5f; From ab4eedb790cae44313759b50fe47da285e2519d5 · fixed in 71030f3b3015a412133a805ff47970cdcf30c2b8; From ab4eedb790cae44313759b50fe47da285e2519d5 · fixed in 752a6c9596dd25efd6978a73ff21f3b592668f4a; From 6.6.84 · fixed in 6.6.130; From 6.12.20 · fixed in 6.12.78; From 6.13.8 · fixed in 6.14
- Linux Linux
6.14
- KernelLinux
fixed in 6.6.130; From 6.7.0 · fixed in 6.12.78; From 6.13.0 · fixed in 6.18.20; From 6.14.0 · fixed in 6.19.10