lkml.org 
[lkml]   [2008]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [stable] [PATCH] kernel 2.6.24.1 still vulnerable to the vmsplice local root exploit
simple len and base check is already in kernel:

2.6.22.17 @ 1176,2-16 - fs/splice.c

/*
* Sanity check this iovec. 0 read succeeds.
*/
if (unlikely(!len))
break;
error = -EFAULT;
if (unlikely(!base))
break;



On 2/10/08, Greg KH <greg@kroah.com> wrote:
> On Sun, Feb 10, 2008 at 02:02:27PM +0100, Oliver Pinter wrote:
> > thx it fixed for 2.6.22
> >
> > >>>>>>>
> >
> > commit f6e993b835393543bab2d917f9dea75218473edd
> > Author: Oliver Pinter <oliver.pntr@gmail.com>
> > Date: Sun Feb 10 14:03:46 2008 +0100
> >
> > [PATCH] vm: splice local root exploit fix for 2.6.22.y
> >
> > Based on Bastian Blank's patch
> >
> > Fix for CVE_2008_0009 and CVE_2008-0010
> >
> > ----->8-----
> >
> > oliver@pancs:/tmp$ ./2617_26241_root_exploit
> > -----------------------------------
> > Linux vmsplice Local Root Exploit
> > By qaaz
> > -----------------------------------
> > [+] mmap: 0x0 .. 0x1000
> > [+] page: 0x0
> > [+] page: 0x20
> > [+] mmap: 0x4000 .. 0x5000
> > [+] page: 0x4000
> > [+] page: 0x4020
> > [+] mmap: 0x1000 .. 0x2000
> > [+] page: 0x1000
> > [+] mmap: 0xb7f1a000 .. 0xb7f4c000
> > [-] vmsplice: Bad address
> >
> > -----8<-----
> >
> > Signed-off-by: Oliver Pinter <oliver.pntr@gmail.com>
> >
> > diff --git a/fs/splice.c b/fs/splice.c
> > index e263d3b..d8b106e 100644
> > --- a/fs/splice.c
> > +++ b/fs/splice.c
> > @@ -1182,6 +1182,12 @@ static int get_iovec_page_array(const struct
> > iovec __user *iov,
> > if (unlikely(!base))
> > break;
> >
> > + /* CVE-2008-0009, CVE-2008-0010 fix */
>
> No, this is a different CVE, as it is a different problem from the
> original 09 and 10 report.
>
> It has been given CVE-2008-0600 to address this issue (09 and 10 only
> affect .23 and .24 kernels, and have been fixed.)
>
> > + if(!access_ok(VERIFY_READ, base, len)) {
> > + error = -EFAULT;
> > + break;
> > + }
>
> Hm, perhaps we should just properly check the len field instead? That's
> what is being overflowed here...
>
> thanks,
>
> greg k-h
>


--
Thanks,
Oliver


\
 
 \ /
  Last update: 2008-02-10 18:47    [W:0.276 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site