Re: [PATCH 1/2] block: cciss: fix information leak to userland

From: scameron
Date: Mon Oct 25 2010 - 10:03:24 EST


On Sat, Oct 23, 2010 at 12:25:11PM +0400, Vasiliy Kulikov wrote:
> Structure IOCTL_Command_struct is copied to userland with some
> padding fields at the end of the struct unitialized.
> It leads to leaking of stack memory.

leaking of contents of kernel stack memory to userland,
not a memory leak, just to be clear.

>
> Signed-off-by: Vasiliy Kulikov <segooon@xxxxxxxxx>
> ---
> drivers/block/cciss.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
> index 762a81a..cd08324 100644
> --- a/drivers/block/cciss.c
> +++ b/drivers/block/cciss.c
> @@ -1142,6 +1142,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,
> --
> 1.7.0.4

Ack.

Thanks.

I would think hpsa needs a similar fix, and also cciss_ioctl32_big_passthru().
I suppose it's possible the big passthru alignment just "works out", (I haven't
checked), but even if that is the case, probably best not to rely on such an
accident,

-- steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/