Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: smb/server: avoid deadlock when linking with ReplaceIfExists If smb2_create_link() is called with ReplaceIfExists set and the name does exist then a deadlock will happen. ksmbd_vfs_kern_path_locked() will return with success and the parent directory will be locked. ksmbd_vfs_remove_file() will then remove the file. ksmbd_vfs_link() will then be called while the parent is still locked. It will try to lock the same parent and will deadlock. This patch moves the ksmbd_vfs_kern_path_unlock() call to *before* ksmbd_vfs_link() and then simplifies the code, removing the file_present flag variable.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 9d5012ffe14120f978ee34aef4df3d6cb026b7c4; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before ac98d54630d5b52e3f684d872f0d82c06c418ea9; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 1e858a7a51c7b8b009d8f246de7ceb7743b44a71; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before 814cfdb6358d9b84fcbec9918c8f938cc096a43a; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before a7dddd62578c2eb6cb28b8835556a121b5157323; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before a726fef6d7d4cfc365d3434e3916dbfe78991a33; affected 0626e6641f6b467447c81dd7678a69c66f7746cf before d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694 |
| Linux / Linux | affected 5.15; unaffected 0 before 5.15; unaffected 5.15.190 through 5.15.*; unaffected 6.1.149 through 6.1.*; unaffected 6.6.103 through 6.6.*; unaffected 6.12.43 through 6.12.*; unaffected 6.15.11 through 6.15.*; unaffected 6.16.2 through 6.16.*; unaffected 6.17 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/9d5012ffe14120f978ee34aef4df3d6cb026b7c4
- https://git.kernel.org/stable/c/ac98d54630d5b52e3f684d872f0d82c06c418ea9
- https://git.kernel.org/stable/c/1e858a7a51c7b8b009d8f246de7ceb7743b44a71
- https://git.kernel.org/stable/c/814cfdb6358d9b84fcbec9918c8f938cc096a43a
- https://git.kernel.org/stable/c/a7dddd62578c2eb6cb28b8835556a121b5157323
- https://git.kernel.org/stable/c/a726fef6d7d4cfc365d3434e3916dbfe78991a33
- https://git.kernel.org/stable/c/d5fc1400a34b4ea5e8f2ce296ea12bf8c8421694
ADP enrichment
No English description supplied.
No English description supplied.