{"id":29106,"date":"2026-09-25T20:31:53","date_gmt":"2026-09-25T12:31:53","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97950"},"modified":"2026-09-25T20:31:53","modified_gmt":"2026-09-25T12:31:53","slug":"cve-2026-97950","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97950","title":{"rendered":"CVE-2026-97950 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nconfigfs: pin the sym"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>configfs: pin the symlink target&#8217;s dirent instead of chasing -&gt;ci_dentry<\/p>\n<p>create_link() reads the target&#8217;s configfs_dirent from<br \/>\nitem-&gt;ci_dentry-&gt;d_fsdata, relying on the item reference taken by<br \/>\nget_target().  That reference pins the item, not its dentry: the dentry is<br \/>\npinned by DCACHE_PERSISTENT, which configfs_remove_dir() releases via<br \/>\nsimple_rmdir() while the item is still alive.  A symlink racing with rmdir<br \/>\nof its target can therefore find -&gt;ci_dentry freed and its dirent<br \/>\nreleased, triggering WARN_ON(!atomic_read(&amp;sd-&gt;s_count)) in configfs_get().<\/p>\n<p>Take the dirent in get_target() as well, under -&gt;d_lock and atomically<br \/>\nwith the item reference, and pass it down to create_link().  A hashed<br \/>\ndentry has not been killed yet, so its -&gt;d_fsdata reference keeps the<br \/>\ndirent alive there.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>configfs: pin the symlink target&#8217;s dirent instead of chasing -&gt;ci_dentry<\/p>\n<p>create_link() reads the target&#8217;s configfs_dirent from<br \/>\nite<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29106","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29106","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=29106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}