{"id":41206,"date":"2026-10-19T00:32:36","date_gmt":"2026-10-18T16:32:36","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98734"},"modified":"2026-10-19T00:32:36","modified_gmt":"2026-10-18T16:32:36","slug":"cve-2026-98734","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98734","title":{"rendered":"CVE-2026-98734 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_core:"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown<\/p>\n<p>hci_low_sent() selects a connection under RCU but drops the read lock<br \/>\nbefore calculating its quota and returning it to the scheduler. The<br \/>\nconnection is then used without lifetime protection by hci_sched_iso()<br \/>\nand hci_sched_sco().<\/p>\n<p>After the TX worker drops the RCU read lock, hci_abort_conn_sync() on<br \/>\nhdev-&gt;req_workqueue can remove the connection from the hash, complete<br \/>\nsynchronize_rcu(), purge its queues and release it. The TX worker on<br \/>\nhdev-&gt;workqueue can then access the freed connection in hci_quote_sent()<br \/>\nor while dequeuing packets and updating conn-&gt;sent.<\/p>\n<p>KASAN reported:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in hci_low_sent+0x730\/0x840<br \/>\n  Workqueue: hci0 hci_tx_work<br \/>\n  Call Trace:<br \/>\n   hci_low_sent+0x730\/0x840<br \/>\n   hci_sched_iso+0x25e\/0x4d0<br \/>\n   hci_tx_work+0x239\/0xcb0<\/p>\n<p>  Allocated by task 93:<br \/>\n   __hci_conn_add+0x16f\/0x1b40<br \/>\n   hci_bind_bis+0x782\/0x17b0<br \/>\n   hci_connect_bis+0xa0\/0x510<br \/>\n   iso_sock_connect+0x589\/0x1050<\/p>\n<p>  Freed by task 88:<br \/>\n   kfree+0x131\/0x3c0<br \/>\n   device_release+0xc8\/0x240<br \/>\n   kobject_put+0x14d\/0x280<br \/>\n   hci_conn_del+0x55a\/0xe80<br \/>\n   hci_disconnect_sync+0x156\/0x180<br \/>\n   hci_abort_conn_sync+0x3e7\/0x940<br \/>\n   hci_cmd_sync_work+0x13c\/0x290<\/p>\n<p>Hold hci_dev_lock() across connection selection and transmission in both<br \/>\nSCO and ISO scheduling, serializing them with connection teardown. This<br \/>\nalso prevents queuing completion timestamps after the connection queues<br \/>\nhave been purged. Extending RCU across transmission would be unsafe<br \/>\nbecause the transmit path can sleep. Keep the ISO timeout check outside<br \/>\nthe mutex since hci_link_tx_to() takes it itself.<\/p>\n<p>The preceding channel fix already holds this mutex in the ACL and LE<br \/>\nschedulers, which call the SCO scheduler between packets. Move the SCO<br \/>\nbody to __hci_sched_sco(), assert that its caller holds the mutex, and<br \/>\nuse it directly from these locked paths. Keep a locking hci_sched_sco()<br \/>\nwrapper for the direct calls from hci_tx_work(). This avoids recursively<br \/>\nacquiring the device mutex while preserving the scheduling order.<\/p>\n<p>Remove the obsolete claim that connection removal disables TX.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown<\/p>\n<p>hci_low_sent() selects a connection under RCU but drops the re<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41206","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}