]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ksmbd: prevent rename with empty string
authorNamjae Jeon <linkinjeon@kernel.org>
Wed, 30 Apr 2025 02:18:28 +0000 (11:18 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:24:04 +0000 (08:24 +0200)
commit 53e3e5babc0963a92d856a5ec0ce92c59f54bc12 upstream.

Client can send empty newname string to ksmbd server.
It will cause a kernel oops from d_alloc.
This patch return the error when attempting to rename
a file or directory with an empty new name string.

Cc: stable@vger.kernel.org
Reported-by: Norbert Szetei <norbert@doyensec.com>
Tested-by: Norbert Szetei <norbert@doyensec.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/smb/server/smb2pdu.c

index 13750a5e5ba02ec55071d0fb5a18d39501612ad6..9bd817427a345a26db96bfc7b8b095953b1ec8a6 100644 (file)
@@ -632,6 +632,11 @@ smb2_get_name(const char *src, const int maxlen, struct nls_table *local_nls)
                return name;
        }
 
+       if (*name == '\0') {
+               kfree(name);
+               return ERR_PTR(-EINVAL);
+       }
+
        if (*name == '\\') {
                pr_err("not allow directory name included leading slash\n");
                kfree(name);