From: Dan Carpenter Date: Tue, 24 Sep 2013 22:27:45 +0000 (-0700) Subject: cciss: fix info leak in cciss_ioctl32_passthru() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=698508f44ad8d2f4289f8fae4488576f2902703a;p=karo-tx-linux.git cciss: fix info leak in cciss_ioctl32_passthru() commit 58f09e00ae095e46ef9edfcf3a5fd9ccdfad065e upstream. The arg64 struct has a hole after ->buf_size which isn't cleared. Or if any of the calls to copy_from_user() fail then that would cause an information leak as well. This was assigned CVE-2013-2147. Signed-off-by: Dan Carpenter Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 62b6c2cc80b5..90a4e6b940ac 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -1189,6 +1189,7 @@ static int cciss_ioctl32_passthru(struct block_device *bdev, fmode_t mode, int err; u32 cp; + memset(&arg64, 0, sizeof(arg64)); err = 0; err |= copy_from_user(&arg64.LUN_info, &arg32->LUN_info,