Skip to content

Commit da7c622

Browse files
minhbq-99Alexander Gordeev
authored andcommitted
s390/cio: Ensure the copied buf is NUL terminated
Currently, we allocate a lbuf-sized kernel buffer and copy lbuf from userspace to that buffer. Later, we use scanf on this buffer but we don't ensure that the string is terminated inside the buffer, this can lead to OOB read when using scanf. Fix this issue by using memdup_user_nul instead. Fixes: a4f17cc ("s390/cio: add CRW inject functionality") Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Link: https://lore.kernel.org/r/20240424-fix-oob-read-v2-5-f1f1b53a10f4@gmail.com Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
1 parent b961ec1 commit da7c622

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/s390/cio/cio_inject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ static ssize_t crw_inject_write(struct file *file, const char __user *buf,
9595
return -EINVAL;
9696
}
9797

98-
buffer = vmemdup_user(buf, lbuf);
98+
buffer = memdup_user_nul(buf, lbuf);
9999
if (IS_ERR(buffer))
100100
return -ENOMEM;
101101

0 commit comments

Comments
 (0)