{"id":15190,"date":"2026-09-04T19:02:30","date_gmt":"2026-09-04T11:02:30","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64206"},"modified":"2026-09-04T19:02:30","modified_gmt":"2026-09-04T11:02:30","slug":"cve-2026-64206","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64206","title":{"rendered":"CVE-2026-64206 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: can"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: L2CAP: cancel pending_rx_work before taking conn-&gt;lock<\/p>\n<p>l2cap_conn_del() takes conn-&gt;lock and then calls cancel_work_sync() for<br \/>\npending_rx_work.  process_pending_rx() takes the same mutex, so teardown<br \/>\ncan deadlock against the worker it is flushing.<\/p>\n<p>This issue was found by our static analysis tool and then manually<br \/>\nreviewed against the current tree.<\/p>\n<p>The grounded PoC kept the l2cap_conn_ready() -&gt; queue_work(&#8230;,<br \/>\n&amp;conn-&gt;pending_rx_work) submit path, the l2cap_conn_del() -&gt;<br \/>\ncancel_work_sync(&amp;conn-&gt;pending_rx_work) teardown path, and the<br \/>\nprocess_pending_rx() -&gt; mutex_lock(&amp;conn-&gt;lock) worker edge.  Lockdep<\/p>\n<p>  WARNING: possible circular locking dependency detected<br \/>\n  process_pending_rx+0x21\/0x2a [vuln_msv]<br \/>\n  l2cap_conn_del.constprop.0+0x3f\/0x4e [vuln_msv]<br \/>\n  *** DEADLOCK ***<\/p>\n<p>Cancel pending_rx_work before taking conn-&gt;lock, matching the existing<br \/>\nlock-before-drain ordering used for the two delayed works in the same<br \/>\nteardown path.  The pending_rx queue is still purged after the work has<br \/>\nbeen cancelled and conn-&gt;lock has been acquired.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>Bluetooth: L2CAP: cancel pending_rx_work before taking conn-&gt;lock<\/p>\n<p>l2cap_conn_del() takes conn-&gt;lock and then calls cancel_work_syn<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15190","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15190","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=15190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}