{"id":41210,"date":"2026-10-19T00:32:37","date_gmt":"2026-10-18T16:32:37","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98738"},"modified":"2026-10-19T00:32:37","modified_gmt":"2026-10-18T16:32:37","slug":"cve-2026-98738","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98738","title":{"rendered":"CVE-2026-98738 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: Serialize"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: Serialize SMP remote OOB data access<\/p>\n<p>build_pairing_cmd() looks up remote OOB data and copies its contents<br \/>\nwithout holding hdev-&gt;lock, which serializes the list&#8217;s writers. After<br \/>\nSMP finds an entry, a concurrent management Remove Remote OOB Data<br \/>\ncommand can unlink and free it before SMP reads its present flag or<br \/>\ncopies its random and confirmation values. Removal can also invalidate<br \/>\nan entry while the lookup is still traversing the list.<\/p>\n<p>KASAN reported:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in build_pairing_cmd+0x948\/0x9b0<br \/>\n  Call Trace:<br \/>\n   build_pairing_cmd+0x948\/0x9b0<br \/>\n   smp_recv_cb+0x459f\/0x8110<br \/>\n   l2cap_recv_frame+0xf14\/0x9190<br \/>\n   l2cap_recv_acldata+0xa64\/0xd40<br \/>\n   hci_rx_work+0x4ca\/0x730<\/p>\n<p>  Allocated by task 87:<br \/>\n   hci_add_remote_oob_data+0x11d\/0x530<br \/>\n   add_remote_oob_data+0x282\/0x400<br \/>\n   hci_sock_sendmsg+0x1033\/0x1ea0<\/p>\n<p>  Freed by task 93:<br \/>\n   hci_remote_oob_data_clear+0x108\/0x1c0<br \/>\n   remove_remote_oob_data+0x198\/0x220<br \/>\n   hci_sock_sendmsg+0x1033\/0x1ea0<\/p>\n<p>Taking hdev-&gt;lock in build_pairing_cmd() would recurse for callers that<br \/>\nalready hold it and invert the device-to-L2CAP lock order on the receive<br \/>\npath. Add a per-device remote_oob_lock instead, held across the SMP<br \/>\nlookup and copies and by the add, remove and clear helpers. Cover<br \/>\ninitialization and in-place updates as well, so SMP cannot read partially<br \/>\ninitialized or updated OOB values. Release the mutex on allocation<br \/>\nfailure, preserving the existing error return.<\/p>\n<p>The new critical sections acquire no device, connection or channel locks.<br \/>\nWriters retain their existing hdev-&gt;lock protection, which continues to<br \/>\nserialize the other readers without changing their locking or behavior.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: Serialize SMP remote OOB data access<\/p>\n<p>build_pairing_cmd() looks up remote OOB data and copies its contents<br \/>\nwithout holdi<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41210","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41210","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=41210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}