Re: [PATCH 2/2] aio: fix kernel memory disclosure in io_getevents() introduced in v3.10

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 25, 2014 at 04:50:51PM -0400, Jeff Moyer wrote:
> 
> From: Benjamin LaHaise <bcrl@xxxxxxxxx>
> 
> A kernel memory disclosure was introduced in aio_read_events_ring() in v3.10
> by commit a31ad380bed817aa25f8830ad23e1a0480fef797.  The changes made to
> aio_read_events_ring() failed to correctly limit the index into
> ctx->ring_pages[], allowing an attacked to cause the subsequent kmap() of
> an arbitrary page with a copy_to_user() to copy the contents into userspace.
> This vulnerability has been assigned CVE-2014-0206.  Thanks to Mateusz and
> Petr for disclosing this issue.
> 
> [jmoyer@xxxxxxxxxx: backported to 3.10]
> Signed-off-by: Benjamin LaHaise <bcrl@xxxxxxxxx>
> Signed-off-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
> Cc: Mateusz Guzik <mguzik@xxxxxxxxxx>
> Cc: Petr Matousek <pmatouse@xxxxxxxxxx>
> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  aio.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/fs/aio.c b/fs/aio.c
> index e66b948..872fd26 100644
> --- a/fs/aio.c
> +++ b/fs/aio.c
> @@ -717,6 +717,8 @@ static long aio_read_events_ring(struct kioctx *ctx,
>  	if (head == ctx->tail)
>  		goto out;
>  
> +	head %= ctx->nr_events;
> +
>  	while (ret < nr) {
>  		long avail;
>  		struct io_event *ev;
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Thanks, I'll queue it for the 3.11 kernel as well.

Cheers,
--
Luís
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]