{"id":7025,"date":"2026-09-04T18:49:23","date_gmt":"2026-09-04T10:49:23","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72381"},"modified":"2026-09-04T18:49:23","modified_gmt":"2026-09-04T10:49:23","slug":"cve-2026-72381","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72381","title":{"rendered":"CVE-2026-72381 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix use-after-"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ksmbd: fix use-after-free of fp-&gt;owner.name in durable handle owner check<\/p>\n<p>Two concurrent SMB2 durable reconnects (DH2C\/DHnC) on the same<br \/>\npersistent_id race the fp-&gt;owner.name compare-read in<br \/>\nksmbd_vfs_compare_durable_owner() against the kfree() in<br \/>\nksmbd_reopen_durable_fd()&#8217;s reopen-success path. fp-&gt;owner.name is a<br \/>\nstandalone kstrdup() buffer whose lifetime is independent of the fp<br \/>\nrefcount, and the two sites share no lock: the compare reads the buffer<br \/>\nwhile the reopen frees it, so the strcmp() can dereference freed memory.<\/p>\n<p>Commit 7ce4fc40018d (&#8220;ksmbd: fix durable reconnect double-bind race in<br \/>\nksmbd_reopen_durable_fd&#8221;) made the fp-&gt;conn claim atomic under<br \/>\nglobal_ft.lock (closing the owner.name double-free and the ksmbd_file<br \/>\nwrite-UAF), but the compare-read versus reopen-free pair was left<br \/>\nunserialized.<\/p>\n<p>  BUG: KASAN: slab-use-after-free in strcmp+0x2c\/0x80<br \/>\n  Read of size 1 by task kworker<br \/>\n    strcmp<br \/>\n    ksmbd_vfs_compare_durable_owner<br \/>\n    smb2_check_durable_oplock<br \/>\n    smb2_open<br \/>\n  Freed by task kworker:<br \/>\n    kfree<br \/>\n    ksmbd_reopen_durable_fd<br \/>\n    smb2_open<br \/>\n  Allocated by task kworker:<br \/>\n    kstrdup<br \/>\n    session_fd_check<br \/>\n    smb2_session_logoff<br \/>\n  The buggy address belongs to the cache kmalloc-8<\/p>\n<p>Serialize both sides of the race with fp-&gt;f_lock.  The global durable<br \/>\nfile-table lock still protects the durable reconnect claim, but<br \/>\nfp-&gt;owner.name is per-open state and does not need to block unrelated<br \/>\ndurable table lookups or reconnects.  The teardown is left at its<br \/>\nexisting location after the reopen-success point so that an __open_id()<br \/>\nrollback still retains owner.name for a later legitimate reconnect to<br \/>\nverify.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ksmbd: fix use-after-free of fp-&gt;owner.name in durable handle owner check<\/p>\n<p>Two concurrent SMB2 durable reconnects (DH2C\/DHnC) on th<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7025","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7025","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=7025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}