Bluetooth: L2CAP: access chan->conn safely in get/setsockopt
- 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.273, 5.15.224, 6.1.191, 6.6.160, 6.12.114, 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
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: access chan->conn safely in get/setsockopt Since commit b66774b48dd9 ("Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref") l2cap_chan::conn has held reference and remains non-NULL also after the corresponding hci_conn is deleted. In this state accessing various fields eg. hci_conn::hdev is invalid, which leads to KASAN crash in l2cap_sock_setsockopt() access of conn->hcon->hdev. Check l2cap_chan::conn.hcon corresponds to an alive hci_conn before trying to use it in l2cap_sock.c. Hold l2cap_chan_lock() in getsockopt/setsockopt to ensure it stays alive, and to avoid data races in l2cap_chan fields.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5.10.265 · fixed in 5.10.273; From 5.15.216 · fixed in 5.15.224; From 6.1.183 · fixed in 6.1.191; From 6.6.145 · fixed in 6.6.160; From 6.12.97 · fixed in 6.12.114; From 6.18.39 · fixed in 6.18.57; From 7.1.4 · fixed in 7.2
- Linux Linux
7.2
- KernelLinux
fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.57; From 6.19.0 · fixed in 7.2.6
References 8
git.kernel.org
- stable/c/c66cd500ba1a58b3798c468fcc774ed2c8c2ec7d
- stable/c/737b80c97aef10404a9beed7c0ed45fcd5fc5931
- stable/c/0d7b7b31ea092e17d757bd24e2e9028ba5e3a4ca
- stable/c/19e154d794eb4d33d99ca4a087b1cea9d5e65786
- stable/c/3af72bf8f73c519ee562e6963d5ff8e678924f93
- stable/c/8460dc49c9756a1e9288218060b4d41e1b704905
- stable/c/f49321c85785178214fd67f2e9b4b73d6363783b
- stable/c/ca2c4c26498643f421d35ffe258fafbd3ed461c3