summaryrefslogtreecommitdiff
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@canonical.com>2018-09-20 18:09:48 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-10-04 03:00:54 +0300
commit04bc4dd86d0f2b166640c8ea5b7a030d92a3d993 (patch)
tree286befe07eabf419eb380ba0062dfa8c10f35e92 /arch/x86/xen
parentf88e50ea03000bba631833540a654c7692f6410f (diff)
downloadlinux-04bc4dd86d0f2b166640c8ea5b7a030d92a3d993.tar.xz
floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl
commit 65eea8edc315589d6c993cf12dbb5d0e9ef1fe4e upstream. The final field of a floppy_struct is the field "name", which is a pointer to a string in kernel memory. The kernel pointer should not be copied to user memory. The FDGETPRM ioctl copies a floppy_struct to user memory, including this "name" field. This pointer cannot be used by the user and it will leak a kernel address to user-space, which will reveal the location of kernel code and data and undermine KASLR protection. Model this code after the compat ioctl which copies the returned data to a previously cleared temporary structure on the stack (excluding the name pointer) and copy out to userspace from there. As we already have an inparam union with an appropriate member and that memory is already cleared even for read only calls make use of that as a temporary store. Based on an initial patch by Brian Belleville. CVE-2018-7755 Signed-off-by: Andy Whitcroft <apw@canonical.com> Broke up long line. Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/xen')
0 files changed, 0 insertions, 0 deletions