[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C914BC4.8070809@gmx.de>
Date: Thu, 16 Sep 2010 00:42:12 +0200
From: Florian Tobias Schandinat <FlorianSchandinat@....de>
To: Dan Rosenberg <drosenberg@...curity.com>
CC: JosephChan@....com.tw, linux-fbdev@...r.kernel.org,
linux-kernel@...r.kernel.org, security@...nel.org,
stable@...nel.org
Subject: Re: [PATCH] drivers/video/via/ioctl.c: prevent reading uninitialized
stack memory
Hi,
Dan Rosenberg schrieb:
> The VIAFB_GET_INFO device ioctl allows unprivileged users to read 1968
> bytes of uninitialized stack memory, because the "reserved" member of
> the viafb_ioctl_info struct declared on the stack is not altered or
> zeroed before being copied back to the user. This patch takes care of
> it.
I am wondering about the number of bytes as sizeof(struct viafb_ioctl_info) =
256 so it should be a bit less. But that's just nitpicking, the issue is
certainly real. Your patch does the right thing but there is a bug in it:
> Signed-off-by: Dan Rosenberg <dan.j.rosenberg@...il.com>
>
> --- linux-2.6.35.4.orig/drivers/video/via/ioctl.c 2010-08-26 19:47:12.000000000 -0400
> +++ linux-2.6.35.4/drivers/video/via/ioctl.c 2010-09-15 11:53:29.997375748 -0400
> @@ -25,6 +25,8 @@ int viafb_ioctl_get_viafb_info(u_long ar
> {
> struct viafb_ioctl_info viainfo;
>
> + memset(&viainfo, 0, sizeof(struct viafb_ioctl));
Shouldn't it be sizeof(struct viafb_ioctl_info) or sizeof(viainfo) ?
At least here it does not even compile otherwise....
Thanks,
Florian Tobias Schandinat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists