{"id":"CVE-2026-45924","state":"PUBLISHED","title":"ksmbd: call ksmbd_vfs_kern_path_end_removing() on some error paths","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: call ksmbd_vfs_kern_path_end_removing() on some error paths\n\nThere are two places where ksmbd_vfs_kern_path_end_removing() needs to be\ncalled in order to balance what the corresponding successful call to\nksmbd_vfs_kern_path_start_removing() has done, i.e. drop inode locks and\nput the taken references.  Otherwise there might be potential deadlocks\nand unbalanced locks which are caught like:\n\nBUG: workqueue leaked lock or atomic: kworker/5:21/0x00000000/7596\n     last function: handle_ksmbd_work\n2 locks held by kworker/5:21/7596:\n #0: ffff8881051ae448 (sb_writers#3){.+.+}-{0:0}, at: ksmbd_vfs_kern_path_locked+0x142/0x660\n #1: ffff888130e966c0 (&type->i_mutex_dir_key#3/1){+.+.}-{4:4}, at: ksmbd_vfs_kern_path_locked+0x17d/0x660\nCPU: 5 PID: 7596 Comm: kworker/5:21 Not tainted 6.1.162-00456-gc29b353f383b #138\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014\nWorkqueue: ksmbd-io handle_ksmbd_work\nCall Trace:\n <TASK>\n dump_stack_lvl+0x44/0x5b\n process_one_work.cold+0x57/0x5c\n worker_thread+0x82/0x600\n kthread+0x153/0x190\n ret_from_fork+0x22/0x30\n </TASK>\n\nFound by Linux Verification Center (linuxtesting.org).","publishedAt":"2026-05-27T12:17:43.229Z","updatedAt":"2026-05-27T12:17:43.229Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"9d5012ffe14120f978ee34aef4df3d6cb026b7c4","status":"affected","lessThan":"8e3a3192ef78d8302916408d62813b1fddfc8972","versionType":"git"},{"version":"ac98d54630d5b52e3f684d872f0d82c06c418ea9","status":"affected","lessThan":"f221baa80e5959a0c08a7e34abbf2a4d3cf0e1c2","versionType":"git"},{"version":"1e858a7a51c7b8b009d8f246de7ceb7743b44a71","status":"affected","lessThan":"cf29329a13df79c198b45dfc92577638d30b56fa","versionType":"git"},{"version":"814cfdb6358d9b84fcbec9918c8f938cc096a43a","status":"affected","lessThan":"34d6691933682f0516259a31b39d2cebcedec0a5","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"0c578e8065c4b08d5635a4cbc0f6321df9d20f79","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"4c38600feb81c670edb82e49d201d3d2d00cd4c3","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"a09dc10d1353f0e92c21eae2a79af1c2b1ddcde8","versionType":"git"},{"version":"a7dddd62578c2eb6cb28b8835556a121b5157323","status":"affected","versionType":"git"},{"version":"a726fef6d7d4cfc365d3434e3916dbfe78991a33","status":"affected","versionType":"git"},{"version":"5.15.190","status":"affected","lessThan":"5.15.203","versionType":"semver"},{"version":"6.1.149","status":"affected","lessThan":"6.1.167","versionType":"semver"},{"version":"6.6.103","status":"affected","lessThan":"6.6.130","versionType":"semver"},{"version":"6.12.43","status":"affected","lessThan":"6.12.78","versionType":"semver"},{"version":"6.15.11","status":"affected","lessThan":"6.16","versionType":"semver"},{"version":"6.16.2","status":"affected","lessThan":"6.17","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/smb2pdu.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.17","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.17","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.4","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/smb2pdu.c"]}],"references":["https://git.kernel.org/stable/c/8e3a3192ef78d8302916408d62813b1fddfc8972","https://git.kernel.org/stable/c/f221baa80e5959a0c08a7e34abbf2a4d3cf0e1c2","https://git.kernel.org/stable/c/cf29329a13df79c198b45dfc92577638d30b56fa","https://git.kernel.org/stable/c/34d6691933682f0516259a31b39d2cebcedec0a5","https://git.kernel.org/stable/c/0c578e8065c4b08d5635a4cbc0f6321df9d20f79","https://git.kernel.org/stable/c/4c38600feb81c670edb82e49d201d3d2d00cd4c3","https://git.kernel.org/stable/c/a09dc10d1353f0e92c21eae2a79af1c2b1ddcde8"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:07.131Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/45xxx/CVE-2026-45924.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-45924","state":"PUBLISHED","datePublished":"2026-05-27T12:17:43.229Z","dateUpdated":"2026-05-27T12:17:43.229Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-13T15:03:33.086Z"},"containers":{"cna":{"title":"ksmbd: call ksmbd_vfs_kern_path_end_removing() on some error paths","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: call ksmbd_vfs_kern_path_end_removing() on some error paths\n\nThere are two places where ksmbd_vfs_kern_path_end_removing() needs to be\ncalled in order to balance what the corresponding successful call to\nksmbd_vfs_kern_path_start_removing() has done, i.e. drop inode locks and\nput the taken references.  Otherwise there might be potential deadlocks\nand unbalanced locks which are caught like:\n\nBUG: workqueue leaked lock or atomic: kworker/5:21/0x00000000/7596\n     last function: handle_ksmbd_work\n2 locks held by kworker/5:21/7596:\n #0: ffff8881051ae448 (sb_writers#3){.+.+}-{0:0}, at: ksmbd_vfs_kern_path_locked+0x142/0x660\n #1: ffff888130e966c0 (&type->i_mutex_dir_key#3/1){+.+.}-{4:4}, at: ksmbd_vfs_kern_path_locked+0x17d/0x660\nCPU: 5 PID: 7596 Comm: kworker/5:21 Not tainted 6.1.162-00456-gc29b353f383b #138\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014\nWorkqueue: ksmbd-io handle_ksmbd_work\nCall Trace:\n <TASK>\n dump_stack_lvl+0x44/0x5b\n process_one_work.cold+0x57/0x5c\n worker_thread+0x82/0x600\n kthread+0x153/0x190\n ret_from_fork+0x22/0x30\n </TASK>\n\nFound by Linux Verification Center (linuxtesting.org)."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"9d5012ffe14120f978ee34aef4df3d6cb026b7c4","status":"affected","lessThan":"8e3a3192ef78d8302916408d62813b1fddfc8972","versionType":"git"},{"version":"ac98d54630d5b52e3f684d872f0d82c06c418ea9","status":"affected","lessThan":"f221baa80e5959a0c08a7e34abbf2a4d3cf0e1c2","versionType":"git"},{"version":"1e858a7a51c7b8b009d8f246de7ceb7743b44a71","status":"affected","lessThan":"cf29329a13df79c198b45dfc92577638d30b56fa","versionType":"git"},{"version":"814cfdb6358d9b84fcbec9918c8f938cc096a43a","status":"affected","lessThan":"34d6691933682f0516259a31b39d2cebcedec0a5","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"0c578e8065c4b08d5635a4cbc0f6321df9d20f79","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"4c38600feb81c670edb82e49d201d3d2d00cd4c3","versionType":"git"},{"version":"d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694","status":"affected","lessThan":"a09dc10d1353f0e92c21eae2a79af1c2b1ddcde8","versionType":"git"},{"version":"a7dddd62578c2eb6cb28b8835556a121b5157323","status":"affected","versionType":"git"},{"version":"a726fef6d7d4cfc365d3434e3916dbfe78991a33","status":"affected","versionType":"git"},{"version":"5.15.190","status":"affected","lessThan":"5.15.203","versionType":"semver"},{"version":"6.1.149","status":"affected","lessThan":"6.1.167","versionType":"semver"},{"version":"6.6.103","status":"affected","lessThan":"6.6.130","versionType":"semver"},{"version":"6.12.43","status":"affected","lessThan":"6.12.78","versionType":"semver"},{"version":"6.15.11","status":"affected","lessThan":"6.16","versionType":"semver"},{"version":"6.16.2","status":"affected","lessThan":"6.17","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/smb2pdu.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.17","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.17","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.4","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/smb/server/smb2pdu.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8e3a3192ef78d8302916408d62813b1fddfc8972"},{"url":"https://git.kernel.org/stable/c/f221baa80e5959a0c08a7e34abbf2a4d3cf0e1c2"},{"url":"https://git.kernel.org/stable/c/cf29329a13df79c198b45dfc92577638d30b56fa"},{"url":"https://git.kernel.org/stable/c/34d6691933682f0516259a31b39d2cebcedec0a5"},{"url":"https://git.kernel.org/stable/c/0c578e8065c4b08d5635a4cbc0f6321df9d20f79"},{"url":"https://git.kernel.org/stable/c/4c38600feb81c670edb82e49d201d3d2d00cd4c3"},{"url":"https://git.kernel.org/stable/c/a09dc10d1353f0e92c21eae2a79af1c2b1ddcde8"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-27T12:17:43.229Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.190","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.149","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.103","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.43","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"6.18.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"6.19.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.17","versionEndExcluding":"7.0"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.15.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.16.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}