]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scsi: qedf: Ensure the copied buf is NUL terminated
authorBui Quang Minh <minhquangbui99@gmail.com>
Wed, 24 Apr 2024 14:44:21 +0000 (21:44 +0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 7 May 2024 01:19:24 +0000 (21:19 -0400)
Currently, we allocate a count-sized kernel buffer and copy count from
userspace to that buffer. Later, we use kstrtouint on this buffer but we
don't ensure that the string is terminated inside the buffer, this can
lead to OOB read when using kstrtouint. Fix this issue by using
memdup_user_nul instead of memdup_user.

Fixes: 61d8658b4a43 ("scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.")
Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
Link: https://lore.kernel.org/r/20240424-fix-oob-read-v2-4-f1f1b53a10f4@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qedf/qedf_debugfs.c

index 451fd236bfd0585f4a7fb86e5c6848f8002b098a..96174353e3898fc71f48571ececca9e4971ec1a8 100644 (file)
@@ -170,7 +170,7 @@ qedf_dbg_debug_cmd_write(struct file *filp, const char __user *buffer,
        if (!count || *ppos)
                return 0;
 
-       kern_buf = memdup_user(buffer, count);
+       kern_buf = memdup_user_nul(buffer, count);
        if (IS_ERR(kern_buf))
                return PTR_ERR(kern_buf);