CVE Catalog

CVE-2025-38711

MediumCVSS 5.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.12%

2th percentile - higher than 2% of all known CVEs

Summary

In the Linux kernel SMB server module (ksmbd), a deadlock occurs when smb2_create_link() is called with ReplaceIfExists set and the target name already exists. ksmbd_vfs_kern_path_locked() returns success with the parent directory locked, and then ksmbd_vfs_link() tries to lock the same parent again, causing a deadlock.

Risk Assessment

This can cause the SMB server service (ksmbd) to hang and make network shares unavailable to users. In extreme cases it may require restarting the service or the system.

Recommendation

Update the Linux kernel to a version containing the fix that moves the ksmbd_vfs_kern_path_unlock() call before ksmbd_vfs_link().

Other vulnerabilities in Linux kernel (ksmbd)

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS