{"id":"CVE-2026-97950","summary":"configfs: pin the symlink target's dirent instead of chasing -\u003eci_dentry","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nconfigfs: pin the symlink target's dirent instead of chasing -\u003eci_dentry\n\ncreate_link() reads the target's configfs_dirent from\nitem-\u003eci_dentry-\u003ed_fsdata, relying on the item reference taken by\nget_target().  That reference pins the item, not its dentry: the dentry is\npinned by DCACHE_PERSISTENT, which configfs_remove_dir() releases via\nsimple_rmdir() while the item is still alive.  A symlink racing with rmdir\nof its target can therefore find -\u003eci_dentry freed and its dirent\nreleased, triggering WARN_ON(!atomic_read(&sd-\u003es_count)) in configfs_get().\n\nTake the dirent in get_target() as well, under -\u003ed_lock and atomically\nwith the item reference, and pass it down to create_link().  A hashed\ndentry has not been killed yet, so its -\u003ed_fsdata reference keeps the\ndirent alive there.","modified":"2026-09-26T03:48:28.025210070Z","published":"2026-09-25T10:22:58.970Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97950.json"},"references":[{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4f54beb2e7f6d399396466682fba3539bcdcb414"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a7c1290eef60711c10289c056ad32ed1f2b47b12"},{"type":"WEB","url":"https://git.kernel.org/stable/c/d47c5de1cd6bfbe1067fc310bf90e4e00205e839"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/97xxx/CVE-2026-97950.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97950"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"7063fbf2261194f72ee75afca67b3b38b554b5fa"},{"fixed":"4f54beb2e7f6d399396466682fba3539bcdcb414"},{"fixed":"d47c5de1cd6bfbe1067fc310bf90e4e00205e839"},{"fixed":"a7c1290eef60711c10289c056ad32ed1f2b47b12"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97950.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.6.16"},{"fixed":"6.18.53"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.7"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-97950.json"}}],"schema_version":"1.9.0"}