Bluetooth: fix locking in hci_conn_request_evt() with HCI_PROTO_DEFER
- 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.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, and 2 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 locking in hci_conn_request_evt() with HCI_PROTO_DEFER When protocol sets HCI_PROTO_DEFER, hci_conn_request_evt() calls hci_connect_cfm(conn) without hdev->lock. Generally hci_connect_cfm() assumes it is held, and if conn is deleted concurrently -> UAF. Only SCO and ISO set HCI_PROTO_DEFER and only for defer setup listen, and HCI_EV_CONN_REQUEST is not generated for ISO. In the non-deferred listening socket code paths, hci_connect_cfm(conn) is called with hdev->lock held. Fix by holding the lock.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 60e3f4ff02d1f2d55bfbf2ca32a97285a9771ee4; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 9d4a6c0f43fc5e4d4f062e8e450e5483eb74176e; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in c7777f534a8018ae4bb1c80d8925af4df588a314; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 6b4d226d01ab7da0d2027a2a1e3a6079152e5065; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 541d5bf9b5afaf41090b2a3aa7b47f2db2ff801f; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 385b2d0468a0871fc716c549fa3b0c257c7dbcb3; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in c27224daf0b08efbb2b24ed64b6139b294f5473a; From 70c464256310e1c3716099b9d02ece4169272f73 · fixed in 5c7209a341ff2ac338b2b0375c34a307b37c9ac2
- Linux Linux
3.17
- KernelLinux
From 3.17.0 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.141; From 6.7.0 · fixed in 6.12.91; From 6.13.0 · fixed in 6.18.33; From 6.19.0 · fixed in 7.0.10
References 8
git.kernel.org
- stable/c/60e3f4ff02d1f2d55bfbf2ca32a97285a9771ee4
- stable/c/9d4a6c0f43fc5e4d4f062e8e450e5483eb74176e
- stable/c/c7777f534a8018ae4bb1c80d8925af4df588a314
- stable/c/6b4d226d01ab7da0d2027a2a1e3a6079152e5065
- stable/c/541d5bf9b5afaf41090b2a3aa7b47f2db2ff801f
- stable/c/385b2d0468a0871fc716c549fa3b0c257c7dbcb3
- stable/c/c27224daf0b08efbb2b24ed64b6139b294f5473a
- stable/c/5c7209a341ff2ac338b2b0375c34a307b37c9ac2